Reflection Mappers

There are 3 common types of reflection mappers used in locations. These are detailed beneath. With all probes you can either specify which instances to include manually, or an easier way to do it is to just include all except for specific instances to exclude.

Planar Reflection Mappers

ReflectedEnv

This is used for wet weather reflections. This should be assigned as the reflection mapper on road meshes pre PBR. On PBR materials it is auto assigned.

A sample of the mapper is beneath.

It should be populated with Instances that have a reflection plane assigned in order to give appropriate wet weather reflections.

Typically we should be very careful about which objects are included as manually assigning accurate reflection planes can be difficult, and this performance hit for this is quite expensive.

The mapper renders the objects reflected from the current view point.

ReflectionMapper=REFLECTEDENV
{
  Type=Planar
  TextureSize=(1024)
  UpdateRate=(100.000)
  StaticSwitch=(300.000)
  MaxElementsCap=(64)
  FarPlane=(300.00)
  TrackingIns=NULL
  IncludeIns=..
  ExcludeIns=..
}

Cubic Reflection Mappers

With Cubic Reflection mappers, the draw distance, texture size and element cap is limited dynamically by in game graphical settings.

RefMap0

This is used for live reflections on a car. This should include all objects suitable to be reflected onto the car's bodywork.

This includes terrain, barriers, prominent buildings, trees and more around the entire circuit.

The mapper renders from the position of the current vehicle.

ReflectionMapper=REFMAP0
{
  Type=Cubic
  UpdateRate=(100.000)
  StaticSwitch=(500.000)
  TrackingIns=True
  IncludeIns=..
  ExcludeIns=..
}

Static Probes

Static Probes can be setup to calculate IBL for PBR objects.

These are setup at a specific point on the circuit and certain objects in the proximity only need to be included.

The probe is updated much less frequently than the others.

Multiple probes can be setup for different lighting conditions, such as having a probe for objects inside the pit garage.

It is recommended to not include strong colour casters in probes. Such as colour advertisements or bright objects. These can make the reflections in areas the probes are used with out these objects seem strange.

ReflectionMapper=STATIC01
{
  Type=Cubic
  EnableOmni=(1) //Enabled by default, you can choose to disable them though.
  UpdateRate=(0.100)
  StaticSwitch=(500.000)
  Pos=(475.4,28.0,2090.0)
  IncludeIns=..
  ExcludeIns=..
}

Previewing Via IBL Visualiser 

The IBL Visualiser in the Scene Viewer or Developer Mode allows a preview of the current settings applied to each mapper, a drop down list can be used to preview each mapper and its settings in the scene. The visualiser will also update as it is moved around the scene.

Rule based includes

Instances can now be included or excluded from mappers using the InsRule tag. for example:

ReflectionMapper=STATIC01
{
  Type=Cubic
  TextureSize=(1024)
  UpdateRate=(0.100)
  StaticSwitch=(250.000)
  Pos=(475.4,28.0,2090.0)
  InsRule=!DigitalFlag*
  InsRule=!*Worker_*
  InsRule=!PitOfficial*
  InsRule=!Veh_Line*
  InsRule=!Veh_Rescue*
  InsRule=!Crowd_Race*
  InsRule=!Crowd_Practice*
  
  // include everything else
  InsRule=*
}
  • each instance is hierachically matched through the insRules. The first matched rule is used to determine if the instance should be included or not
    • for example ABCDWorker_ABCD will be excluded above as it will match the rule "*Worker_*" before the "*" rule
    • Dog would be included above as it would not match any of the '!' rules but would match "*"
    • If the "*" rule was omitted no instances would be included as they would not match an "include" rule
  • InsRule accepts the wild card '*' this will match any characters until the text after the wild card is encountered, and should be consistent with other wild card searches
  • If an InsRule is is prefixed by a '!' then the rule becomes an exclude rule and any instance that matches that rule will be excluded