Art Best Practices

The following guidelines are meant to help you conform your models to work within the limits of Vortex® Studio.

A simulated scene is composed of many elements: the main vehicle or mechanism being simulated, the environment around it, and any accessories or props required. It is important to plan ahead and have an estimate of the total number of models that a scene will have. With this information, the artists can plan ahead to distribute time and effort between the models, with the primary focus being placed on the central vehicle/mechanism. It's the most visible and should get the most polygons and texture details.

A proper budget optimization allows for amazing graphics without causing errors or performance issues.

Overall Functional Limits

Though Vortex® Studio is a high-performance software, it must take into account the current limitations of personal computer and graphic card technology. To run smoothly at real-time framerates (60 fps), care must be taken to allocate computing resources efficiently.

Ideally, an analysis should be done with the art department to determine how many models will be needed and establish the polygon budget before any work is done.

The following numbers are averages based on real use cases. Merging static parts and maximizing the use of texture atlases within the model will help optimize drawable and vertexes counts.

  • Triangles: Total scene triangle count should be around 500,000.
  • Vertices: Total scene vertex count should be around 1.5 million.
  • Drawables: Total scene drawable count should be less than 1000.


It's not recommended to go above two million triangles and six million vertices per scene. Theses values are overall functional limits – they should not be considered a safe target to aim for.

Avoid having too many primitive sets. For example, an object with 100,000 triangles and one primitive set uses fewer computer resources than the same amount of triangles split across 500 primitive sets.

Drawcalls

Each object and material in the scene has drawcalls, which are expensive since higher amounts of drawcalls will slow the simulation.

It's important to control the quantity of drawcalls by merging static elements and using texture atlases.

Budgeting Strategies

Start with a plan to determine how many models will be needed, and establish a polygon budget based on the limits. Consider what needs to move and what stays still most of the time, and what is being focused on by the user. If one model requires additional details, others in the scene should be reduced to compensate. This analysis should be done in conjunction with the Art department.

It’s always best to do a case-by-case evaluation. A single 3D object in high resolution, with one million triangles, could work if placed alone in a featureless desert scene. The same object, in a crowded scenario with many interactions (e.g., a port environment) will not work very well, or at all.

Different models, appropriately-sized for the scene so as to never reach the above limitations, should always be used. A highly-detailed crane model created for a scene where the user is next to it, should not be inserted “as is” in another scene where it will be far away from the camera. It should be appropriately defeatured to reach a triangle and texture count more in line with its intended role and position in the scene.

ObjectSuggested Polygon Count
Human Avatar/Personnel20,000
Small Arms (e.g., M4)12,000
Shoulder Fired Missile (e.g., RPG, Javelin)15,000
Heavy Weapon (e.g. M2 .50 cal)18,000
Armored Wheeled Vehicle (e.g. APC)46,000
Main Battle Tank50,000
Towed Howitzer40,000
Self-Propelled Howitzer40,000
Remote Weapon Station (e.g., CROWS)15,000
Light Armored Vehicle (e.g., Humvee)42,000
Light Utility Truck40,000
Heavy Cargo Truck45,000
Fixed Wing UAV (e.g., Shadow)35,000
Attack Helicopter (e.g., Apache)45,000
General Purpose Helicopter (e.g., Blackhawk)40,000
Medium Air Defense System30,000
Small House10,000
Large House15,000

Levels of Details

The Levels of Detail (LOD) feature renders specific 3D model representations of an object based on the relative position of the viewer in order to obtain better performance. The further away an object is, the fewer details are required to represent it on-screen.

The data needed to drive these different levels of detail is specified inside each graphics node. Consider creating a high resolution model where close-up details are important and a low resolution version for when the model is only seen at a distance. While this creates more work for the artists, it optimizes the visual performances, allowing more models and/or details to be included.

See Levels of Detail for more.


Asset Guidelines

The following section provides information on the suggested sizes and limits for the various graphical assets that make up a Vortex® Studio simulation.

Terrain

The terrain model will become the surface on which the simulation takes place. Each scene should have only one terrain.

See Terrain Creation for more.

  • Tiles
    • Divide the model into small tiles of uniform dimensions
      • Each tile should be no larger than 50x50 meters
      • No more than 64,000 vertices per drawable
      • Each dynamics terrain tile should contain only one drawable
    • Levels of Detail per tiles are supported (optional)
  • Triangles
    • Aim for 128 to 1024 per terrain tile
    • Do not include slim (smaller than 3 degrees) or overlapping triangles to avoid issues with dynamics
  • Textures
    • Use one Atlas per tile
    • A good average is 1024x1024 for each tile, if there are many tiles
    • 4k textures are the maximum, but it is up to the art department to decide on the texture resolution on a case-by-case basis
    • Textures can be opaque, or use Blend mode

Note You can import trees into a scene procedurally by selecting Vegetation in the Toolbox, so they do not need to be part of the terrain model.

Vehicle or Mechanism

The stars of most simulations, these should be highly detailed. Note, however, that low-detail vehicles are also useful, either in the background or for scenario-specific uses.

When creating a mechanism, it's important to plan the polygonal budget ahead – where details will be added and how precise the textures should be. No need to reproduce all rivets and bolts, for example.

See Mechanism Creation for more.

  • Parts
    • Divide the vehicle or mechanism into its moving parts
      • Dynamic Parts are always in world-space, and typically drive the graphics node placement
      • Mechanical engineers should provide a list of parts needed, as they are responsible for building dynamic parts out of the graphics nodes
    • Parts with many vertices should have LODs
    • Making separate graphic nodes for every bit and bolt is not a good idea – include only what is needed
    • Selected parts may be alpha-tested out (windows, wire mesh)
  • Procedural Elements
    • Some parts are not needed in the 3D model; this includes any cables being simulated with the Cable Systems, and flexible tracks
    • Note that graphic materials and textures must still be prepared for these
  • Triangles
    • Aim for between 4000 to 80,000 on the highest LOD
    • Aim for 512 to 10,240 per graphic node on the highest LOD, keeping in mind the above total for the mechanism
  • Textures
    • Up to 2048x2048 for important parts
    • Maximum 4096x4096, proportional to all objects inside the scene
      • For example: a forestry forwarder model could use 4096x4096, but the smaller logs loaded inside need to be proportional (512x512)
    • Use one atlas per model or, if needed, per drawable
    • Use tiling textures when possible
    • May include alpha (embedded inside PNG, for example)

Cultural Objects

Cultural objects are static items that have a dynamics simulation, such as bridges, buildings, signs, or fences. These are typically immobile objects that can be collided with.

  • Parts
    • Try to have a single part if possible
    • Adjust the levels of detail as needed for the scene
    • May include alpha-tested out sections (fences, grates, etc.)
  • Triangles
    • Aim for 512 to 1024 per object on the highest LOD
  • Textures
    • Maximum 2048x2048, proportional to all objects inside the scene
    • Use one atlas for the complete object
    • Use tiling textures when possible

Props

Props are movable items that have a dynamics simulation, such as pipes and crates in a crane scenario, or traffic cones, boxes, etc. These are dynamic objects that are fully driven by Vortex Studio.

  • Parts
    • Try to have a single part if possible
    • Adjust the level of details as needed – it's okay not to use LOD for props that will almost always be close by
    • May include alpha-tested out sections
  • Triangles
    • Aim for 3 to 10,000 per prop
  • Textures
    • Try to use one atlas for multiple props, or tile texture (seamless texture)
    • Average 1024x1024, up to a maximum of 4096x4096
    • Opaque

Graphic Materials

Graphic Materials support up to 16 textures overall. This includes both maps and masks – an output at the bottom of the Properties panel will help keep count.

Make sure to give clear file names to your graphic materials. It's often useful to include the intended use and a "mat" suffix, e.g., mainchassis_mat.

If enabled, keep in mind that the Environment Reflections feature only reflects the SkyDome or SkyBox. It's also costly computation-wise, so use it only when required.

Note There are several pre-made Graphic Material examples in the Vortex Studio Demo Scenes. Find and open the Material Library sample.

Textures

Vortex Studio supports up to four UV sets per geometry.

Vortex Studio supports a number of image formats, such as .jpg and .png; note that .tga 32-bit is recommended for the display of vegetation's alpha textures.

The following maps can be used on a model (masks are also supported for each channel):

  • Emissive
  • Occlusion
  • Albedo
  • Specular
  • Gloss
  • Normal

Use square textures in powers of 2, such as 256x256, 512x512, 1024x1024, 2048x2048, etc.

Make sure to give clear file names to your textures. It's often useful to include the intended map and the size, for example: texturemainchassis_albedo_512.

Here are some suggested texture sizes at LOD0 and for a 1920/1080 display size:

Object's Real World SizeTexture Average SizeTexture Max Size
6 cm32x3264x64
12 cm64x64128x128
25 cm128x128256x256
50 cm256x256512x512
1 m512x5121024x1024
2 m1024x10242048x2048
4 m2048x20484096x4096
8 m+4096x40964096x4096

Make sure to use a pixel size proportional to the texture's intended use (faraway objects don't need a large, detailed texture). Use larger textures only when needed; often, a 2048x2048 (or smaller) texture is more than adequate.

The Normal map should be equal or higher resolution than the other maps. It should be kept decompressed in the Editor, so watch the overall memory size if multiple Normal maps are used.

Make sure that the Normal map is correctly oriented. Note that it's possible to flip the Green channel in the Texture object's Properties panel; this is useful when importing common OpenGL image files in Vortex Studio.

For textures on procedural objects, use the following guidelines:

  • Particle Material: maximum 512x512, Additive or Modulate
  • Cable Material: maximum 1024x1024, usually Opaque; Masked is supported for chains
  • Soil Material: maximum 4096x4096, Opaque

The Mechanical Engineer or the Level Designer who will build the scene may ask the Artist to create textures for new particle effects, cable materials, or soil materials.