Track Creation Cheat Sheet

RealRoad

Instance

  • Name: RaceSurface prefix
  • Deformable, HATTarget and CollTarget

Material

  • Name: TDF prefix (e.g. road, asph, rdcp, ...)
  • Name: _WET suffix
  • Reflection Mapper: REFLECTEDENV

Vertex Color

  • Unavailable (used by RealRoad technology)

Shadows

Set Shadow Out Distance for optimization

Types

  • Object: only renders the casted shadow
  • Caster: preferred type for solid objects
  • Textured Caster: fences, vegetation (slower!)

Shadow Groups: additive A (1|Max) to D (8|Low)
SunBlocker Object, prevents glitches when sun is below horizon

Vegetation and Crowds

Bump Spec Map T1 Stamp Vertex / Stamp Normal (Treelines)

Material

  • Chroma; check Blend Pixels with XPAA OFF

Vertex Color

  • Alpha: 99.9999
  • Exporting Vertex Alpha requires Vertex Color to be set to a value – even (255,255,255)

Set up Screen-Aligned Quads in Exporter

Check triangulation on test export before distribution

Object Scale 100% – Reset Transform

Terrain (Multi Layer grass/dirt)

Instance

  • HATTarget and CollTarget (drivable areas)

Material

  • Name: TDF prefix (e.g. gras, grvl, ...)

Vertex Color

  • Black: Zero state (T1)
  • Green: Mix in T2
  • Red: Mix in T3
  • Blue: Blend T4.A
  • Alpha: Greyscale shading

Reflection Maps

RefMap0 – car reflections

  • include terrain, barriers, buildings, and vegetation

ReflectedEnv – wet surface reflections

  • aim to include barriers, key buildings and structures

Static## – non-movable CubeMap reflections

  • automatically contains everything within LOD distance of specified coordinates

Include at least one instance in RefMap0 and ReflectedEnv

Animations

Always animate at world zero (0,0,0)

Root Bone at (0,0,0) with 0.01 weight for all vertices

Always export .anm at (0,0,0) and time index 0

Exports bones only, do not include the mesh

Select skinned mesh as Root Bone

Group skinned mesh and bones for distribution

Export ungrouped distributed meshes with Fix Bone Names

VisGroups

Most common

  • A: Removed from High detail and lower (1)
  • B: Removed from Medium detail and lower (2)
  • C: Removed from Low detail (4)
  • F: Removed from RearView mirror (32)
  • G: Removed from Practice (64)
  • H: Removed from Qualifying (128)
  • I: Removed from Race (256)

Numbers are added up in the SCN Instance

Example: VisGroups C (4) and F (32) = 36

Marshals

Instance Names

  • CornerWorker_### (unbroken sequence)
  • DigiFlag_### (match CornerWorker ###)
  • StarterWorker_### (unbroken sequence)
  • PitOfficial_### (unbroken sequence)

Distribute as group including bones

Export ungrouped distributed meshes with Fix Bone Names

Night Lighting

Omni

  • Name: Nightlight##
  • Lights Omni-tagged objects
  • Object receives light from 20 closest omni lights

Glow object

  • Name: NightLight##Glow

Start Lights

Instance

  • Name: StartLight

GDB

  • NumStartingLights = number of lights + 1

Material

  • Name: rdlta, b, c, d, e for five lights
  • Animation Data
    • Name: rdlt.dds
    • Frames: 2
    • Sequence example for two lights (brackets!)
      • rdlta: (0,1,1,0)
      • rdltb: (0,0,1,0)

NoRain Zones

Object in 3D space where rain particles are not rendered

  • Box Primitive with placeholder material: 1 SubMat

Instance

  • Name: NoRainZone_##
  • No Render
  • Export with gMotor Normals

Albedo Map

Diffuse reflectivity of material surface

Absolutely vital for correct HDR output

Basic simplified rule of thumb

  • Albedo Map = Diffuse Map @ neutral, overcast sky

Extensive information

  • AlbedoMap on Wiki

Pit Lights

Instance

  • Name: PitLightOut and/or PitLightIn

Material

  • Name: rdpitla, grpitla, ylopitla
  • Animation Data
    • Name: rdlt.dds, grlt.dds, ylolt.dds
    • Frames: 2
    • Sequence – don’t forget (brackets)
      • rdpitla: (0,0,1)
      • grpitla: (1,1,0)
      • ylopitla: (0,1,0)

SunBlocker

Object

  • Low poly hemisphere facing down
  • Connect to edges of terrain/skybox

Instance

  • Shadow Object
  • Shadow Groups A+B+C+D = (15)

gMotor Viewer Keyboard Shortcuts

U: Toggle shadows
G: Toggle ground tracking
S: Cycle performance information
C: Cycle anisotropic levels
O: Toggle outlines
W: Toggle wireframe front face / all
Ctrl + T: Toggle Transparency Anti-Aliasing (XPAA)
Ctrl + +: Increase Vertical FOV
Ctrl + -: Decrease Virtual FOV
Alt + W: Hide/Show Tweak Bar interface
Alt + R: Toggle Reflection Maps

  • Use T and Shift + T to cycle

Timing Lines

Instance

  • Names
    • XSector1, XSector2, XFinish
    • XPitOut, XPitIn
  • No Render
  • CollTarget
  • Response
    • Sectors: VEHICLE,TIMING
    • Pit: VEHICLE,PITSTOP

Oriented in such a way that cars ‘collide’ with the polygon

Typical Object Workflow (3ds Max)

Export

  • Detach Smoothing Groups to Elements (MaxScript on Wiki)
  • Export with gMotor Normals
  • Tweak Albedo, Normal and Specular Maps and ...
  • ... check/tweak material values in gJED/Viewer

Optimization

  • Atlas textures that share similar material values
  • Batch objects that use share submaterials
  • Set LOD Out and Shadow Out Distances
  • Set VisGroups and Shadow Groups