Art Pipeline

Introduction

This document describes the art pipeline for authoring and previewing an art asset.

The modelling package Autodesk® 3ds Max® was used to create Train Simulator, so this product appears in the examples provided. You can, of course, use other packages such as Blender™ or amabilis 3D Crafter. The package used here for authoring textures is Adobe® Photoshop. Again, you may use one of the many other packages available.

Regardless of the packages you use, the documents below should be used as a general guide to the processes to follow to build assets for Train Simulator.

Important Note: For your chosen package, you may need additional plug-ins to export the assets into Train Simulator. Please check the availability of a suitable plug-in before you begin creating assets.

Basic Pipeline & Plug-ins

Basic Pipeline

Textures

Texture assets are authored as layered Photoshop PSD files for flexibility and backup purposes. These textures must then be exported as ACE files ready to be converted by the game tools.

Geometry

The geometry assets will be exported from Max as IGS (intermediate geometry) files.

DDS Format

Train Simulator supports NVIDIA's Direct Draw Surface texture format - the DDS format. Train Simulator also supports the proprietary ACE texture format.

Note: The proprietary ACE texture format plugin is not compatible with Adobe Photoshop CS2 or newer

Texture sizes

The DDS and ACE formats only support texture sizes which are ‘the order of 2’ and can support non-square textures e.g. 256x1024, 512x512, 64x128, 1024x1024, 128x512 etc.

Colour depth

The DDS and ACE formats support 8-bit, 24-bit or 32-bit. Any texture that requires transparency should be saved as a full 32-bit image, with the alpha channel containing only black or white (not greyscale). If the image contains grey scale alpha, the DX compression will simply quantise this down to 1-bit, and the resultant alpha channel may be undesirable. With transparency, remember to set the TRANS flag in the shader.

MIPs

The DDS format supports textures with or without MIPs. Generally textures require MIPs; however, in some cases (for example UI, sky domes, etc.) it’s a waste of texture space to store MIPs for a texture that will never be viewed at a distance from the camera.

The DDS plug-in has an extra MIP generation option. There are three options ‘Generate MIP Maps’, ‘Use Existing MIP maps’ or No MIP maps.

Generate MIP Maps (auto-generates MIPs when saving)

This is the suggested option to use if you simply require a texture with MIPs. If this option is used on saving, the plug-in will take a texture and generate the MIPS for that texture regardless of whether it had MIPs in the first place.

NOTE: If the texture had any hand-edited MIPs, then those MIPs will be overwritten with auto-generated ones if this option is used on saving. If the user wishes hand–edited MIPs to be preserved then they must save out the texture using the option detailed below.

Use Existing MIP Maps (does not generate new MIPs when saving)

This option simply uses the existing MIP maps that were generated previously. This is useful for when you wish to preserve any hand-edited MIPs.

Material Plugin DLU

The material plug-in in 3ds Max allows materials and textures to be applied to assets ready for exporting.

See Shaders for more information.

Creating Art with the Blueprint Editor

The Blueprint Editor allows the user to preview an asset and export it into the game if desired.

Controls

There are two modes in which to view the previewed asset: Free Camera Mode and Target Camera Mode.

In Free Camera Mode
  • Keyboard cursor keys control Camera position
  • Right mouse button +moving controls Camera target or look at
  • Left mouse button selects object and object gizmo
In Target Camera Mode:
  • Keyboard cursor keys causes the Camera to orbit around the asset

Bounding Boxes

Assets that require solid collision must have a bounding box otherwise they will simply be ignored in collision calculations. The bounding box for an asset should be created to give a simple representation of the shape of the asset so that the physics calculations are kept to a minimum.

The bounding boxes are created in the Blueprint Editor and are stored in the blueprint of the asset.

Bounding boxes serve two main purposes:
  • Collisions in train derailments
  • Passenger avoidance on platforms
Once a train is derailed, the bounding boxes are used to calculate collisions between rolling stock and scenery objects. On platforms, the animated passengers will avoid walking through assets with bounding boxes.

Extra Features

There are a number of buttons in the Asset Editor which will help to debug an asset.

Exporting & Viewing Art

Basics

In 3ds Max, the MAX file is exported to an Intermediate Geometry Shape file (IGS).
  • Max file > IGS file
In the Blueprint Editor, the game ready data is compiled from the IGS file blueprint
  • IGS file > GeoPcDx file
  • DDS File > TgPcDx File
  • ACE file > TgPcDx file
The GeoPcDx (geometry) and TgPcDx (textures) are deployment or  ‘game ready’ file formats.

Export IGS from Max

  1. With the asset in 3ds Max, choose File then Export.
  2. Choose the correct filename (and the IGS file type) for your asset. The exported IGS filename must be the same as the MAX filename and exported into the same location as the max file. For example, consider the asset called oxfo_padd_church01:

    C:\Program Files (x86)\Steam\steamapps\common\RailWorks\Source\Scenery\Buildings\oxfo_padd_church01.MAX

    exports to:

    C:\Program Files (x86)\Steam\steamapps\common\RailWorks\Source\Scenery\Buildings\oxfo_padd_church01.IGS

  3. Once you've named the IGS file, use the following options on export: Ignore Hidden Object (checked), Export with Namespaces (checked), Standard Log Output Level (checked) and 2 Bone/Vert Influence Limit (PS2) (checked). Leave all other options unchecked.
  4. Click on EXPORT
  5. Ensure that your exported "Level of Detail" nodes are in numerical order in the export dialogue window.
  6. If they appear in the wrong order, then this may cause export failures. The LODs must be created in max in the correct numeric order to get the LODs to export in the correct order. Even though they are named correctly (1_..., 2_..., 3_... etc), they may appear in the wrong order if they were created in the wrong order in Max.

Previewing an IGS in the Blueprint Editor

Starting up the Asset Editor

An environment appears with a Blueprint Editor Browser window. In this browser window, the source art is represented in a directory structure.

Previewing an asset

The Blueprint Editor requires an asset blueprint to preview an asset.

You must either create a new blueprint for your asset (if one doesn't already exist) or use a previously created blueprint.

To create a blueprint:
  1. Browse to your IGS file
  2. Right Click on the IGS file to get this window, and select "New Shape Blueprint"
  3. For a scenery object, such as a building, select Scenery Blueprint from the list.
  4. Give the asset a "Display name", for example, "Churchname".
  5. Set the correct category type, for example, "Commercial industrial buildings".
This blueprint can now be used to preview the asset in the Blueprint Editor.

Viewing the asset

If you have just created the blueprint, a simple click on the Preview button is required to view the asset. If you are viewing a shape that already has a blueprint, then initially you must double-click on the blueprint in the browser to open the blueprint. Then click the Preview button to view the asset.

In order that the Asset Editor can display the asset, the Asset Editor will create a temporary version of the compiled data (usually in a shape-viewer folder) and use that to display.

Exporting the Asset

Clicking on Export will copy the compiled files (GeoPcDx and TgPcDx in the temporary folder) to the appropriate place for the compiled data in your local game folder, so they can be used locally by the game.