External Model

From DCS World Wiki - Hoggitworld.com

Building the 3D external model

Setting up the environment starts with following the instructions in the Basic Model Guide or the basic_model_guide.pdf file available from the EDM plugin and standalone model viewer forum post.

Orientation: Orient the aircraft with the nose pointing along the positive Y axis. Note, the model exporter has an option to reorient the model with the nose pointing along the positive X axis.

Bounding Box: Before Exporting you need to create a box dummy that roughly encapsulates your entire aircraft. Then select the object properties of the dummy object and add a user defined property of: TYPE = “Bounding_Box”;


Textures

Animation

Connector based animations

Some animations are handled solely by the DCS graphics engine and only need a well defined location to be described in order for the graphics engine to perform the visualization. This is done by creating a connector.

Connectors are created in the 3ds Max model by clicking on Create > Helpers > Dummy . Place the dummy object where you want the connector to be placed.

Then select the object properties of the dummy object and add a user defined property of: TYPE = “connector”;


The following are a list of connectors that will provide animation support just by placing the connector in the model:

PylonX – where X is the weapon station number. The connector indicates where weapons should attach to the pylon. This can be useful for things such as folding wings with weapon stations. Just link the connector to the station and it will rotate with the wing and any mounted weapons will follow. For wing tip mounted stores, you will not only need to face the connector forward, you will also need to rotate the up direction towards the fuselage since the default mounting location assumes stores are slung beneath the connector and a wing tip mounted missile wants a side mount.


Gun_PointX - The aircraft's LUA file has a configuration value that maps to the name used in the model.

For example:

      Guns = {gun_mount("M_61", {count = 725, muzzle_pos_connector = "GUN_POINT", muzzle_pos = {5.5, -0.5, -0.5}, elevation_initial = 2.000, supply_position = {4, 0, 0}, effect_arg_number = 350,) } }

As long as the dummy object name and LUA file string value are the same, you can use whatever name you want. Once example is you may want to use GUN_POINT1 and GUN_POINT2 if you have two guns.


A list of known connectors:

    BANO_0/1/2                       - controls the flood of the white, red and green lights respectively.
    RESERV_BANO_0/1/2                - controls flood of secondary lights.
    RED_BEACON                       - controls position of rotating beacon.
    RESERV_RED_BEACON                - controls position of secondary beacon.
    MAIN_SPOT_PTR                    - positions flood of main landing light.
    RESERV_SPOT_PTR                  - positions flood of secondary landing light.
    FARA_3                           - positions flood of third landing light.
    Gun_point1/2/3/etc               - controls the position of the gun.
    Pylon1/2/3/etc                   - controls the coordinates and rotation of the pylons.
    Point-probe-M/M01                - controls contact position for refuel probe (Su-33 only maybe, didn't work for F-15 FM).
    AIR_REFUELING_RECEPTACLE         - controls air refueling probe contact point (also in code).
    DUST_WHEEL_001/002/003           - controls the location of touchdown dust for main, left and right wheels.
    FLOW_001/002                     - controls the positon of the left and right wingtip vapor condensation (also in code).
    AFTERBURN_001/002                - controls the location of left and right FORSAG afterburner model I think (also in code).
    FUEL_JETTISON_001/002            - controls the location of left and right fuel dump effect.
    INVERS_001/002                   - controls position of contrail effects (also in code).
    FLARE_DISPENSER_1/2              - controls position of flare release position (also in code). 
    Reference the following threads: [1] [2]



TIP: Building a model using nesting of smaller components is a good idea, but be aware that while model references work in 3ds Max, they do not work well in DCS. You will eventually need to merge models. See http://forums.eagle.ru/showthread.php?t=110289.

TIP:Find blueprints and pictures of the aircraft you want to model. You can put these on the X. Y, and Z planes to help you draw your model. If you go this route, you will probably need to resize the aircraft to actual dimensions after modeling with blueprints. Search YouTube for 3ds Max blueprints if you want a tutorial of how to do this. See http://forums.eagle.ru/showthread.php?t=23968 for references to blueprints that may be used. Place these background blueprints in a separate 3ds Max layer that can be hidden during export as these should not be exported with the rest of the model.

TIP:The simplicity of the sample aircraft at this stage makes it easy to fully define the shape. However, a more detailed model may be easier to create by only working on half the aircraft and using object cloning or symmetry modifiers to model the other side of the aircraft once animations are complete.

TIP:The number of polygons used will affect performance. A good detailed model will have tens of thousands of polygons up to and over 100,000 polygons. The more polygons, the more need there will be for optimizing performance using Levels of Detail (LODs). The less detail, the less realistic your aircraft will be. See later sections for information on optimizing performance.





Back to EGDAM main page: EGDAM