Distributed interactive simulation (DIS) is a simulation interoperability standard that provides simulation applications with the ability to communicate and exchange information. The native DIS implementation is only available with the Professional Plus variant. Current support is for protocol version 6 (IEEE 1278.1a-1998), however other versions may be compatible.
Starting a Session
The DIS user interface can be found under Networking in the main menu bar. The user should configure their DIS session before attempting to connect. Configuration includes items such as site, application, entity, and exercise ids as well as heartbeat and timeout values. The exercise id must match that of the session you intend to join. PDUs of other exercises will not be processed by your machine. To process PDUs from all exercises, a value of zero may be entered in the exercise id field. The user must then provide their machine's IP address as well as either a subnet mask or a multicast address depending on the connection type. Once this information is complete, the user may click connect to start or join a DIS session. See below for a more detailed description of each option.
User Interface
The DIS user interface allows the user to configure items such as entity and connection settings. The following is a description of options available from within the user interface as well as descriptions and examples of the XML format used for the configuration.
Entity
Option | Description |
---|---|
Exercise ID | The Exercise ID of the distributed interactive simulation. Applications participating in the same simulation should have matching Exercise IDs. A value of zero may be entered to receive network traffic from all connected exercises. Valid Exercise IDs range from 0 to 255. |
Site ID | The Site ID of this application instance. Site IDs may be the same for multiple applications as long as each application's Application ID is unique. Valid Site IDs range from 0 to 65535. |
Application ID | The Application ID of this application instance. Application IDs should be unique for all applications participating in a given exercise from a given site. For example, the Application ID should be unique for all simulations sharing the same Exercise ID and Site ID. Valid Application IDs range from 0 to 65535. |
Entity ID | The Entity ID of the user entity. Valid Entity IDs range from 0 to 65535. |
Force | The Force ID of the user entity. Valid Force IDs range from 0 to 255. Force values for non-user objects will be determined by their ASSOCIATION ID simulation variable value. |
Marking |
The Marking of the user entity.
The Marking must be 11 characters or less.
The marking value for non-user objects will be determined in following order:
|
Connection
Option | Description |
---|---|
Connection Type | The desired connection type, either Multicast or Broadcast. Multicast connection types must provide a valid Multicast Address. Broadcast connection types must provide a valid Subnet Mask. The default connection type is Multicast. |
IP Address | The local IP Address of this machine. The local IP Address is used in conjunction with the subnet mask to create the broadcast address when using the broadcast connection type. The local IP Address is also used to filter incoming packets that may have been sent from this machine. |
Multicast Address | The Multicast Address is only used by the Multicast connection type. The valid Multicast Address range is 224.0.0.1 to 239.255.255.255. |
Subnet Mask | The Subnet Mask to be used in conjunction with the machine's IP Address to create the final broadcast address. The default value of the Subnet Mask is 255.255.255.0 (class C network). The Subnet Mask should be within the range 0.0.0.0 to 255.255.255.254. For universal broadcast mode, a Subnet Mask of 0.0.0.0 should be entered. This value is only valid for Broadcast connection types. |
Port | The Port used by both Multicast and Broadcast connection types. Valid Port ranges are from 1024 to 65535. The default value is 3000. |
Time to Live | The packet Time to Live value. This value represents the number of routers that a packet is allowed to cross. The default value is 64 and the maximum value is 255. |
Timing
Option | Description |
---|---|
Heartbeat | The maximum time in seconds that an entity will wait between heartbeats. Simulation objects will automatically heartbeat when their current location or dead reckoning values exceed that of the DIS standard. |
MaxHeartbeatFrequency | The maximum frequency that an entity will heartbeat in Hertz. For example, a value of 60 Hz means that an entity will heartbeat no more than 60 times per second. |
Timeout | The maximum duration in seconds that remote simulation objects must heartbeat. If this duration is exceeded, the object will be removed from the simulation. |
Relative Timestamp | Specifies that PDU's will be sent with a relative timestamp versus an absolute timestamp. |
Options
Option | Description |
---|---|
Allow Loopback | Set to true to process packets sent by the local machine. |
Auto Connect | Set to true to automatically start a DIS connection when the application is started. |
Auto Find IP Address | Set to true to automatically fill in the IPAddress field with the local machine's IP address. |
Broadcast AI Traffic | Set to true to enable the broadcasting of AI traffic as DIS entities. |
Broadcast Nav Aids | Set to true to enable the broadcasting of navigation aids such as VOR, DME, TACAN, and NDB. |
Dead Reckoning Method |
Determines the coordinate system to be used when broadcasting entity dead reckoning values.
Values should be one of the following:
|
Disable Articulated Parts | Set to true to disable the serialization and deserialization of articulated parts. |
Disable Entity Appearance | Set to true to disable the serialization and deserialization of entity appearances. |
Disable Dead Reckoning | Set to true to disable the dead reckoning of remote entities. |
Draw Engagements | Set to true to draw engagement lines when munitions are fired and detonated. |
Draw Labels | Set to true to draw labels next to entities displaying information such as name, entity id, and IP address. |
Enable Logging | Set to true enable logging. |
Exercise Region Top-Left | The latitude and longitude of the top-left corner of the exercise region in degrees. Remote entities reporting outside of the exercise region will not be processed. To disable the exercise region, a value of zero should be entered for the latitude and longitude of both the top-left and bottom-right corners. |
Exercise Region Bottom-Right | The latitude and longitude of the bottom-right corner of the exercise region in degrees. Remote entities reporting outside of the exercise region will not be processed. To disable the exercise region, a value of zero should be entered for the latitude and longitude of both the top-left and bottom-right corners. |
Pull To Ground | Set to true to pull land and surface based platforms and lifeforms onto the terrain or water. Air based platforms will also be pulled when determined to be on the ground. |
Radios
Option | Description |
---|---|
Intercom Channel | The channel number (frequency) of the intercom. Valid values range from 1 to 100,000. Only intercom transmissions on the same channel will be heard. |
Intercom Priority | The priority associated with the intercom transmission. A value of 0 represents exempt meaning the transmission will always be heard. Valid values are within the range 1 to 255 with 1 being the highest priority and 255 being the lower priority. Intercoms with higher priorities will be heard over intercoms with lower priorities when transmitting at the same time. The intercom with the lower priority in this case will be muted. |
Supported Audio Formats |
|
Emissions
Emissions can be configured on a per object basis or in a fallback manner based on the use of wildcards in the EntityTypeString.
Emissions XML Element
Option | Description |
---|---|
ElectromagneticEmission | This set represents an electromagnetic emission definition for a given EntityType which is composed of one or more ElectromagneticEmissionSystem. |
ElectromagneticEmission XML Element
Property | Description |
---|---|
EmissionName | Text based friendly name of the emission. |
EntityTypeString | A period delimited string representing the entity's kind, domain, country, category, subcategory, specific, and extra. See the Entity Type String for more information. |
ElectromagneticEmissionSystem | This set represents a single electromagnetic emission system which is composed of one or more EmitterBeam. |
ElectromagneticEmissionSystem XML Element
Property | Description |
---|---|
EmissionSystemName | Text based friendly name of the emission system. |
EmitterFunction | An integer value representing the emitter function. |
EmitterNumber | The unique emitter identification number for a specific emitter. Valid values are within the range 1 to 254 inclusively. |
EmitterName | An integer value representing the emitter name. |
EmitterBeam | This set represents a single emitter beam. |
EmitterBeam XML Element
Property | Description |
---|---|
EmitterBeamName | Text based friendly name for the emitter beam. |
BeamNumber | The unique beam identification number for a specific beam. Valid values are within the range 1 to 254 inclusively. |
BeamParameter | The beam parameter used in conjunction with the emitter name for database look-ups. |
Frequency | The average center frequency of the beam emission in Hertz. |
FrequencyRange | The difference between the upper and lower limits of the center frequency. |
EffectiveRadiatedPower | The average effective radiated power for the emission in dBm. |
PulseRepetitionFrequency | The average pulse repetition frequency of the emission in Hertz. |
PulseWidth | The average pulse with of the emission in micro-seconds. |
AzimuthCenter | The center azimuth of the beam in degrees relative to the emitter. |
AzimuthSweep | The half-angle sweep of the azimuth in degrees relative to the center azimuth. |
ElevationCenter | The center elevation of the beam in degrees relative to the emitter. |
ElevationSweep | The half-angle sweep of the elevation in degrees relative to the center elevation. |
SweepSync | The semi-open range from 0.0 to 100.0 representing the percentage of the pattern scanned from its origin. |
BeamFunction | An integer value representing the beam function. |
IsHighDensityTrack | True if all targets in the scan pattern are to be considered tracked or jammed. |
JammingMode | The jamming mode sequence for the given emitter in string representation. For example, 1.2.3.4 |
Emissions XML Configuration Schema
An example Emissions section is shown below.
Note: This is not a complete and valid file. This an example of the Emissions section of the DISConfiguration.xml file located in the %APPDATA%\Lockheed Martin\Prepar3D v4 directory and can also be configured via the DIS user interface.
<Emissions> <ElectromagneticEmission> <EmissionName>F-22 Raptor - 525th Fighter Squadron</EmissionName> <EntityTypeString>1.2.225.1.6.1.0</EntityTypeString> <ElectromagneticEmissionSystem> <EmissionSystemName>Radar</EmissionSystemName> <EmitterFunction>1</EmitterFunction> <EmitterNumber>1</EmitterNumber> <EmitterName>1945</EmitterName> <EmitterBeam> <EmitterBeamName>Main Beam</EmitterBeamName> <BeamNumber>1</BeamNumber> <BeamParameter>1</BeamParameter> <Frequency>50000000.000000</Frequency> <FrequencyRange>1000000.000000</FrequencyRange> <EffectiveRadiatedPower>1000.000000</EffectiveRadiatedPower> <PulseRepetitionFrequency>60.000000</PulseRepetitionFrequency> <PulseWidth>500.000000</PulseWidth> <AzimuthCenter>0.000000</AzimuthCenter> <AzimuthSweep>30.000000</AzimuthSweep> <ElevationCenter>0.000000</ElevationCenter> <ElevationSweep>30.000000</ElevationSweep> <SweepSync>0.000000</SweepSync> <BeamFunction>5</BeamFunction> <IsHighDensityTrack>False</IsHighDensityTrack> <JammingMode>3.25.10.5</JammingMode> </EmitterBeam> </ElectromagneticEmissionSystem> </ElectromagneticEmission> </Emissions> |
Munitions
Munitions can be configured on a per object basis or in a fallback manner based on the use of wildcards in the EntityTypeString. Munition definitions are set based and support multiple cardinality for some properties. Below is a description of each entry available in the user interface.
Munitions XML Element
Option | Description |
---|---|
MunitionEffectTimeOut | The time in seconds before infinite lifetime munition effects will be removed from the simulation. A value of 0 can be used to prevent munition effects from timing out. |
MunitionDefinition | A MunitionDefinition is used to configure settings for a given munition type (i.e. particle effects). |
MunitionDefinition XML Element
Property | Description |
---|---|
MunitionName | Text based friendly name of the munition. |
EntityTypeString | A period delimited string representing the entity's kind, domain, country, category, subcategory, specific, and extra. See the Entity Type String for more information. |
FireEffectList | The FireEffectList is used to configure the list of particle effects to be created at the time this munition type is fired. |
DetonationEffects | The DetonationEffects section is used configure how particle effects should be created at the time this munition type is detonated. |
FireEffectList XML Element
Property | Description |
---|---|
EffectName | The file name of the particle effect (without the extension). Multiple effect names can be associated with a single definition. |
DetonationEffects XML Element
Property | Description |
---|---|
DefaultDetonationEffectList | The DefaultDetonationEffectList is used to configure the default list of particle effects to be created for all detonation result types. The DefaultDetonationEffectList does not override a detonation type of NONE. The DefaultDetonationEffectList can be overridden by creating additional DetonationDefinitions. |
DetonationDefinition | The DetonationDefinition entry is used to bind a list of particle effects to a list of detonation results. Multiple particle effects can be bound to multiple detonation results using a single DetonationDefinition. For example, one could bind a list of water based particle effects to a list of water based detonation results. |
DefaultDetonationEffectList XML Element
Property | Description |
---|---|
EffectName | The file name of the particle effect (without the extension). Multiple effect names can be associated with a single definition. |
DetonationDefinition XML Element
Property | Description |
---|---|
DetonationName | Text based friendly name of the detonation. |
DetonationResults | The DetonationResults list is used to configure the list of detonation results associated with this DetonationDefinition. |
DetonationEffectList | The DetonationEffectList is used to configure the list of particle effects to be created with this DetonationDefinition. |
DetonationResults XML Element
Property | Description |
---|---|
DetonationResult |
The detonation result type of the munition. Multiple detonation result types can be associated with a single detonation definition. Values should be one of the following:
|
DetonationEffectList XML Element
Property | Description |
---|---|
EffectName | The file name of the particle effect (without the extension). Multiple effect names can be associated with a single definition. |
Fire and Detonation Effects
When configuring fire and detonation effects, multiple effects are able to be chained together. When configuring detonation effects, definitions are able to be bound to multiple detonation results. A default detonation effect list can be provided as well, which will be used for all undefined detonation results except for detonation result types OTHER and NONE. To override this default behavior for a detonation result of type OTHER or NONE, a detonation definition must be created for that type.
Munitions XML Configuration Schema
Below is an example Munitions set.
Note: This is not a complete and valid file. This an example of the Munitions section of the DISConfiguration.xml file located in the %APPDATA%\Lockheed Martin\Prepar3D v4 directory and can also be configured via the DIS user interface.
<Munitions> <MunitionEffectTimeOut>300</MunitionEffectTimeOut> <MunitionDefinition> <MunitionName>AIM-9</MunitionName> <EntityTypeString>2.1.225.1.1</EntityTypeString> <DetonationEffects> <DefaultDetonationEffectList> <EffectName>fx_explosionDestroyLandMedium</EffectName> </DefaultDetonationEffectList> <DetonationDefinition> <DetonationName>Building Hit</DetonationName> <DetonationResults> <DetonationResult>Building Hit Small</DetonationResult> <DetonationResult>Building Hit Medium</DetonationResult> <DetonationResult>Building Hit Large</DetonationResult> </DetonationResults> <DetonationEffectList> <EffectName>fx_explosionDestroyBuildingMedium</EffectName> </DetonationEffectList> </DetonationDefinition> <DetonationDefinition> <DetonationName>Dirt Spray Medium</DetonationName> <DetonationEffectList> <EffectName>fx_dirtspray_m</EffectName> </DetonationEffectList> <DetonationResults> <DetonationResult>Dirt Blast Medium</DetonationResult> <DetonationResult>Ground Impact</DetonationResult> <DetonationResult>Air Burst</DetonationResult> <DetonationResult>Air Hit</DetonationResult> <DetonationResult>Armor Piercing Hit</DetonationResult> </DetonationResults> </DetonationDefinition> <DetonationDefinition> <DetonationName>Dirt Spray Large</DetonationName> <DetonationEffectList> <EffectName>fx_dirtspray_l</EffectName> </DetonationEffectList> <DetonationResults> <DetonationResult>Dirt Blast Large</DetonationResult> </DetonationResults> </DetonationDefinition> <DetonationDefinition> <DetonationName>Entity</DetonationName> <DetonationEffectList> <EffectName>fx_explosionDestroyVehicleMedium</EffectName> </DetonationEffectList> <DetonationResults> <DetonationResult>Entity Impact</DetonationResult> <DetonationResult>Entity Proximate Detonation</DetonationResult> </DetonationResults> </DetonationDefinition> <DetonationDefinition> <DetonationName>Water Impact</DetonationName> <DetonationEffectList> <EffectName>fx_wtrspray_l</EffectName> </DetonationEffectList> <DetonationResults> <DetonationResult>Water Impact</DetonationResult> </DetonationResults> </DetonationDefinition> <DetonationDefinition> <DetonationName>Water Blast</DetonationName> <DetonationEffectList> <EffectName>fx_explosionDestroyWaterMedium</EffectName> </DetonationEffectList> <DetonationResults> <DetonationResult>Water Blast Small</DetonationResult> <DetonationResult>Water Blast Medium</DetonationResult> <DetonationResult>Water Blast Large</DetonationResult> </DetonationResults> </DetonationDefinition> </DetonationEffects> </MunitionDefinition> </Munitions> |
Entity Type Configuration
Entity Type XML File
The DISEntityTypes.xml file is used to map SimObject container titles to DIS entity types. The file can be located within the %PROGRAMDATA%\Lockheed Martin\Prepar3D v4 directory after Prepar3D has been launched at least once. Most default included SimObjects have already been mapped to an appropriate DIS entity type where possible, however users are able to expand the included list. Multiple EntityType entries can be present. Each EntityType entry will be used as a two-way map for both the sending and receiving of EntityState PDU's. Entries in DISEntityTypes.xml will take priority, but entity type strings can also be assigned via the Aircraft Configuration Files and Simulation Object Configuration Files as well as the Gun System Configuration File.
Example DISEntityTypes.xml file:
<?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="DIS Entity Types" version="3,1" id="DISEntityTypes"> <Descr>DIS Entity Type Map File</Descr> <Filename>DISEntityTypes.xml</Filename> <DIS.EntityTypes> <EntityType> <EntityTypeString>1.2.225.85.11.0.0</EntityTypeString> <ContainerTitle>Mooney Bravo</ContainerTitle> </EntityType> </DIS.EntityTypes> </SimBase.Document> |
Entity Type String
The entity type string is a period delimited numerical string used to define the type of a given entity. Each integer represents properties of the entity type in the following order: Kind, Domain, Country, Category, Subcategory, Specific, and Extra. Asterisks (*) can be used as wildcards for each of the entity type properties. If an entity type property is not explicitly set it will be considered a wildcard. For example, an entity type string with all digits explicitly defined suchas 1.2.225.85.11.0.0 would only be matched to other exact types. On the other hand, a wildcard based entity type string with such as 1.2 or 1.2.*.*.*.*.* would be matched to all aircraft based platforms.
Example Entity Type Strings:
1.2.225.85.11 1.2.225.85.11.*.* 1.2.*.85.11 1.2.225.85.11.0.0 |
// Implicit Wildcards // Explicit Wildcards (same as above) // Explicit Inner and Implicit Outer Wildcards // Explicit definition (7 digits defined) |
Entity Appearances Configuration
Entity Appearances XML File
The DISEntityAppearances.xml file is used to map simulation variables and registered properties to DIS entity appearances. The default file can be located within the %PROGRAMDATA%\Lockheed Martin\Prepar3D v4 directory after Prepar3D has been launched at least once. The default file contains appearance definitions for native Airplane, Helicopter, GroundVehicle, Boat, and Submersible simulations. In addition to the default DISEntityAppearances.xml file, a Custom Entity Appearances XML File can be assigned on a per-SimObject basis.
<?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="DIS Entity Appearances" version="3,1" id="DISEntityAppearances"> <Descr>DIS Entity Appearances File</Descr> <Filename>DISEntityAppearances.xml</Filename> <DIS.EntityAppearanceDefinitions> <EntityAppearanceDefinition Name="Native Airplane" DefinitionGuid="{3389C282-752D-49C8-B6C1-B60D357B8DC7}" > <Appearance PropertyGet="LIGHT NAV" PropertySet="LIGHT NAV" AppearanceType="NavigationLightsOn" /> <Appearance PropertyGet="LIGHT LANDING" AppearanceType="Custom" AppearanceMask="0x00001000" /> ... </EntityAppearanceDefinition> </DIS.EntityAppearanceDefinitions> </SimBase.Document> |
EntityAppearanceDefinition XML Element
Property | Description | Required |
---|---|---|
Name |
The friendly name of the EntityAppearanceDefinition. |
No |
DefinitionGuid |
The DefinitionGUID is used to look up EntityAppearanceDefinition sets. This GUID should be unique for each EntityAppearanceDefinition. See also Custom Entity Appearances XML File. |
Yes |
Appearance XML Element
Property | Description | Required |
---|---|---|
PropertyGet |
The property or simulation variable to be used to retrieve the Appearance value. This property will be used by local DIS entities when a packet is sent. |
Yes |
PropertySet |
The property or simulation variable to be used to apply the Appearance value. This property will be used by remote DIS entities when a packet is received. If this value is not present, the PropertyGet value will be used instead. |
No |
AppearanceType |
The Appearance type. These values will vary based on the entity's Kind and Domain. An AppearanceType of Custom can also be used in conjunction with an AppearanceMask value to define custom appearance bit values. Values should be one of the following depending on the entity Kind and Domain:
|
Yes |
AppearanceMask |
The AppearanceMask can be used in conjunction with an AppearanceType value of Custom to define custom appearance bit values.
The AppearanceMask value should be in hexadecimal format and will represent which bits of the appearance field the given property or simulation variable value will be stored in.
The hexadecimal value representation is least significant value on the right to the most significant value on the left.
|
Yes/No |
Custom Entity Appearances XML File
In addition to the default DISEntityAppearances.xml, a vehicle specific DISEntityAppearances.xml file can be created on a per-SimObject basis. This file must be saved in the SimObject's folder (in the same folder as the aircraft.cfg or sim.cfg file). The GUID that is defined for the EntityAppearanceDefinition, in the XML file, must be set in the configuration file under the [GENERAL] section in a DISEntityAppearanceDefinitionGuid property (see example below). It must be a unique GUID for the vehicle (see Generating GUIDs).
An example DISEntityAppearances.xml:
<?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="DIS Entity Appearances" version="3,1" id="DISEntityAppearances"> <Descr>DIS Entity Appearances File</Descr> <Filename>DISEntityAppearances.xml</Filename> <DIS.EntityAppearanceDefinitions> <EntityAppearanceDefinition Name="Custom Appearance" DefinitionGuid="{EA75C6F4-FD7B-47F0-90E8-4FD771CD8AC7}" > <Appearance PropertyGet="LIGHT NAV" PropertySet="LIGHT NAV" AppearanceType="NavigationLightsOn" /> <Appearance PropertyGet="LIGHT LANDING" AppearanceType="Custom" AppearanceMask="0x00001000" /> ... </EntityAppearanceDefinition> </DIS.EntityAppearanceDefinitions> </SimBase.Document> |
Inside aircraft.cfg or sim.cfg:
[General]
...
DISEntityAppearanceDefinitionGuid={EA75C6F4-FD7B-47F0-90E8-4FD771CD8AC7}
...
Articulated Part Configuration
Articulated Parts XML File
The DISArticulatedParts.xml file is used to map simulation variables and registered properties to DIS articulated part values and units. The default file can be located within the %PROGRAMDATA%\Lockheed Martin\Prepar3D v4 directory after Prepar3D has been launched at least once. The default file contains articulated part definitions for native Airplane, Helicopter, GroundVehicle, and Boat simulations. In addition to the default DISArticulatedParts.xml file, a Custom Articulated Part XML File can be assigned on a per-SimObject basis.
<?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="DIS Articulated Parts" version="3,1" id="DISArticulatedParts"> <Descr>DIS Articulated Parts File</Descr> <Filename>DISArticulatedParts.xml</Filename> <DIS.ArticulatedPartDefinitions> <ArticulatedPartDefinition Name="Native Airplane" DefinitionGuid="{3389C282-752D-49C8-B6C1-B60D357B8DC7}"> <ArticulatedPart PropertyGet="RUDDER DEFLECTION" Units="Degrees" Class="Rudder" Metric="Azimuth" Offset="0.0" Scale="1.0" /> ... </ArticulatedPartDefinition> </DIS.ArticulatedPartDefinitions> </SimBase.Document> |
ArticulatedPartDefinition XML Element
Property | Description | Required |
---|---|---|
Name |
The friendly name of the ArticulatedPartDefinition. |
No |
DefinitionGuid |
The DefinitionGUID is used to look up ArticulatedPartDefinition sets. This GUID should be unique for each ArticulatedPartDefinition. If a definition is not found, no articulated part data will be sent or processed by that entity. See also Custom Articulated Part XML File. |
Yes |
ArticulatedPart XML Element
Property | Description | Required |
---|---|---|
PropertyGet |
The property or simulation variable to be used to retrieve the ArticulatedPart value. This property will be used by local DIS entities when a packet is sent. |
Yes |
PropertySet |
The property or simulation variable to be used to apply the ArticulatedPart value. This property will be used by remote DIS entities when a packet is received. If this value is not present, the PropertyGet value will be used instead. |
No |
Units |
The units to be used when getting or setting the PropertyGet and PropertySet variables. |
Yes |
Class |
The ArticulatedPart class. If a value of Custom is selected, the CustomClass value must also be present. Values should be one of the following:
|
Yes |
CustomClass |
This value will represent the ArticulatedPart class if a Class enumeration value of Custom is selected. This value is required if and only if Custom Class enumeration is selected. |
Yes/No |
Metric |
The ArticulatedPart metric. If a value of Custom is selected, the CustomMetric value must also be present. Values should be one of the following:
|
Yes |
CustomMetric |
This value will represent the ArticulatedPart metric if a Metric enumeration value of Custom is selected. This value is required if and only if Custom Metric enumeration is selected. |
Yes/No |
Offset |
This value will be added to the ArticulatedPart property value before it is sent or subtracted from the ArticulatedPart value after it is received.
This value will be added before the scale value is multiplied if being sent or subtracted after the scale value is divided if being received.
The default value is 0.0.
|
No |
Scale |
This value will be multiplied against the ArticulatedPart property value before it is sent or divided from the ArticulatedPart value after it is received.
This value will be multiplied after the offset value is added if being sent or subtracted after the scale value is divided if being received.
The default value is 1.0.
|
No |
Custom Articulated Parts XML File
In addition to the default DISArticulatedParts.xml, a vehicle specific DISArticulatedParts.xml file can be created on a per-SimObject basis. This file must be saved in the SimObject's folder (in the same folder as the aircraft.cfg or sim.cfg file). The GUID that is defined for the ArticulatedPartDefinition, in the XML file, must be set in the configuration file under the [GENERAL] section in a DISArticulatedPartDefinitionGuid property (see example below). It must be a unique GUID for the vehicle (see Generating GUIDs).
An example DISArticulatedParts.xml:
<?xml version="1.0" encoding="UTF-8"?> <SimBase.Document Type="DIS Articulated Parts" version="3,1" id="DISArticulatedParts"> <Descr>DIS Articulated Parts File</Descr> <Filename>DISArticulatedParts.xml</Filename> <DIS.ArticulatedPartDefinitions> <ArticulatedPartDefinition Name="Custom XML File" DefinitionGuid="{1EFB1100-8901-4EBE-86A0-63344D55375A}"> <ArticulatedPart PropertyGet="RUDDER DEFLECTION" Units="Degrees" Class="Rudder" Metric="Azimuth" Offset="0.0" Scale="1.0" /> ... </ArticulatedPartDefinition> </DIS.ArticulatedPartDefinitions> </SimBase.Document> |
Inside aircraft.cfg or sim.cfg:
[General]
...
DISArticulatedPartDefinitionGuid={1EFB1100-8901-4EBE-86A0-63344D55375A}
...
Feature Support
The following features are currently supported:
- Protocol Data Units (PDUs)
- Entity State PDU
- Fire PDU
- Detonation PDU
- Electromagnetic Emission PDU
- Designator PDU
- Transmitter PDU
- Signal PDU
- Entity Kinds
- Platforms
- Munitions
- Expendables
- Lifeforms
- Entity Appearance
- Articulated Parts
- Dead Reckoning
- AI Traffic Broadcast
- Multiplayer Broadcast (multiplayer host only)
- Multichannel Support
- SimOperator Support