Common Moving Model Features
Moving Model Location
All moving models can be found on the system under data\COMMON\RELEASE\V1\DB\DB_MOVING_MODELS. A list of the available models can be found under the DOC folder in that directory.
Loading Moving Models
Nova uses a target list configuration file to load moving models. Typically this file is placed in the custom folder of the IG. The path to this file is defined by the following tokens:
ConfigTgts_File custom/config_tgts.cfg
ConfigTgtsDestroy_File custom/config_tgts_destroy.cfg
Model Categories and Limits
Nova has several moving model categories show below in the table. There are three primary limits to be aware of for moving models per category.
Number of models loaded at load time. This is the number of model types the user can load up which will be available for use at runtime. This limit cannot be changed
Default number of models capable of loading in the ICD and rendering at runtime. As the system is delivered the default values are set.
Maximum number of models capable of loading in the ICD and rendering at runtime. This represents the maximum value the above defaults can be adjusted to. It is recommended to only increase model categories if needed to limit the overall ICD size.
This table represents the values for each limit per category
Category | Target File Category Label | Maximum Loaded at Load Time | Default Instances Loaded in ICD | Maximum Instances Loaded in ICD |
|---|---|---|---|---|
Air | ASIGN_AER | 256 | 40 | 128 |
Simple Air Targets | ASIGN_AER_SIMPLE | 64 | 64 | 256 |
Ground | ASIGN_TER | 256 | 40 | 256 |
Simple Ground (auto traffic) | ASIGN_TER_SIMPLE | 64 | 256 | 512 |
Sea | ASIGN_SEA | 256 | 40 | 64 |
Simple Sea (low fidelity clutter) | ASIGN_SEA_SIMPLE | 64 | 128 | 256 |
Ground Actors | n/a See Nova Ground Actors | 256 | 48 | 256 |
Weapons/Missiles | ASIGN_WPN | 64 | 25 | 64 |
Sling Loads | ASIGN_SLING | 32 | 5 | 5 |
Ownship | ASIGN_OWN | 16 | 1 | 1 |
Stealth Ownship | ASIGN_STEALTH_OWN | 16 | 1 | 1 |
Test Patterns | ASIGN_TEST_PATTERNS | 256 | 16 | 16 |
Fixed Targets | ASIGN_FIXED_TARGET | 4096 | 32 | 512 |
Relocatable Airfield | ASIGN_AIRFIELD | 4 | 1 | 1 |
Props | ASIGN_PROP | 128 | 32 | 256 |
Target File Syntax
The targets file is broken up into the model categories. Each category is named list_type CATEGORY_NAME and contains with curly brackets where the models are defined:
ID HIE filename FX filename
ID - This will correspond to the entity type in the entity control packet. Except for air targets there will be an offset added to this number to differentiate the various types. IDs can be skipped or commented out but should be ordered from lowest to highest.
HIE filename - The file path of the main hie model the user wishes to load. The path is relative to the typical start location of Nova which should be E:\CM\data.
FX filename – The corresponding fx file to the HIE. This file contains other data about the model including the associated DB light file, the DIS enumeration, category specific details like wakes for ships or exhaust for air targets.
Sample target file syntax
### AIR TARGETS
list_type ASIGN_AER
{
1 COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/CIVILIAN/AIRCRAFT/CESSNA_CITATION_CJ1/CESSNA_CITATION_CJ1.hie COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/CIVILIAN/AIRCRAFT/CESSNA_CITATION_CJ1/CESSNA_CITATION_CJ1.fx
2 COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/MILITARY/HELICOPTER/AH_1Z_VIPER/AH_1Z_VIPER_usmc.hie COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/MILITARY/HELICOPTER/AH_1Z_VIPER/AH_1Z_VIPER_usmc.fx
}
### GROUND TARGETS
list_type ASIGN_TER
{
1 COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/CIVILIAN/VEHICLE/PANEL_VAN_MAZDA_BONGO/PANEL_VAN_MAZDA_BONGO.hie COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/CIVILIAN/VEHICLE/PANEL_VAN_MAZDA_BONGO/PANEL_VAN_MAZDA_BONGO.fx
}
### WEAPON TARGETS
list_type ASIGN_WPN
{
1 COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/ELEMENTS/WEAPONS/MISSILE/AIM_9X_SIDEWINDER/AIM_9X_SIDEWINDER.hie COMMON/RELEASE/V1/DB/DB_MOVING_MODELS/ELEMENTS/WEAPONS/MISSILE/AIM_9X_SIDEWINDER/AIM_9X_SIDEWINDER.fx
}
Damaged State
Nova supports damaged versions of many moving models. Damaged models are modeled seperately and defined in a seperate targets file. This file is typically named something similar to config_tgts_destroy.cfg and will be located in E:\CM\data\custom. The damaged targets are referenced using the token
ConfigTgtsDestroy_File custom/config_tgts_destroy.cfg
The targets file is organized similarly to the Moving Model Target File with categories defined by moving model groups. Each damaged model is referenced with the same ID as it's normal counterpart. There is no need to specify an FX file for the damaged model.
Model Quality
For some moving model types, it is necessary to define their level of detail on a per instance basis. All models have built in LOD ranges, but if many models are desired in the scene it may be better performance to
The following categories of moving models have a quality parameter that can be changed at runtime.
Air Moving Models
Ground Moving Models
Sea Moving Models
Simple Sea Moving Models
Sling Load Moving Models
Nova has a MinimumEntityQuality token which defaults to HIGH. This forces the model quality to the highest available level which cannot be changed using the quality field. Accepted values for this token are LOW, MEDIUM, HIGH. Setting the token to LOW allows the host full control of the model quality.
Moving Model Texture Resolution
By default the texture resolution settings of moving models inherit from the database texture resolution settings. Moving model texture resolution can be set independently with the following token:
Token Name | Default Value | Valid Values | Suggested File |
|---|---|---|---|
TargetTexSkipLevelMin | -1 | -1: Use the value set in TexSkipLevelMin 0: Use the highest resolution available 1: Skip the highest texture resolution level | custom\override_<database_name>.cfg file or any other override file or custom\pc-nova.cfg |
Moving Model FX Files
Most moving models have associated .fx files. The purpose of the .fx file is to further describe the model and inform runtime effects.
Moving Model Lights
Parenting
Nova supports parenting of moving models and special effects. Within Nova's ICD, the parent feature is handled by the Parent structure which includes type, id and attachment point. NOTE: Grandparenting is not supported.
Type - represents the category of model
ID - represents the index of the particular model within the category
Attachment Point - Should an attachment point be defined in the model HIE file, then this value would place the entity at that point without having to specify any additional offsets.
Within CIGI, the parenting is handled automatically by sending the CIGI Entity ID of the parent, but it is important to understand the internal parenting logic used in the ICD. Let's take the example of parenting a weapon to an air target. Let's assume there is an air target placed by the host that occupies the mova_hv[5] slot. In order to parent a weapon entity to that air target the weapon ICD values would need to be:
movw_hv[0].parent.type = 1 (1 is the category for air)
movw_hv[0].parent.id = 5 (5 because the air target occupies index 5 of the array)
This table shows the mapping between type and the corresponding category.
PARENT TYPE | CATEGORY |
|---|---|
1 | Air |
2 | Ground |
3 | Weapon |
4 | Sea |
5 | Ownship |
6 | Relocatable Airfield |
7 | Ground Crew (Deprecated) |
8 | Ground Troop (Deprecated) |
9 | Simple Sea |
10 | Sling Load |
11 | Prop |
12 | Ground Actor |
13 | Fixed Target |
14 | XR Controller |
15 | XR Tracker |
16 | Simple Ground Targets |
Model Shadows
All moving models cast shadows by default. This is controlled by the ProjTargetShadows token which is set to ON.