LightSet Config
warning
LightSet files are saved automatically by the Steel Studio app. You do not need to create or edit them manually.
Use this page as a reference only, or if you want to hand-craft a LightSet to ship with a track.
LightSet files are stored as lightset_[name].json in [track_folder]/extension/steelstudio/.
How to use a LightSet with a track
- Create a
lightset_[name].jsonfile based on the template below and place it in[track_folder]/extension/steelstudio/. - Open Steel Studio. The LightSet will appear in the tile grid automatically.
- Click its tile to activate it.
Config file
extension/steelstudio/lightset_00_default.json
{
"name": "My Light Set",
"lights": [
{
"name": "Main Light",
"enabled": true,
"posX": 0,
"posY": 3,
"posZ": 0,
"dirX": 0,
"dirY": -1,
"dirZ": 0,
"spot": 0,
"spotSharpness": 0.5,
"colorStops": [
{ "r": 1, "g": 1, "b": 1 }
],
"intensity": 5,
"holdTime": 1,
"transitionTime": 1,
"range": 20,
"volumetricLight": false,
"fadeAt": 500,
"fadeSmooth": 200,
"shadows": false,
"shadowsStatic": false,
"shadowsHalfRes": false,
"shadowsExtraBlur": false,
"specularMultiplier": 1,
"diffuseConcentration": 0,
"rangeGradientOffset": 0,
"affectsCars": true,
"showInReflections": false,
"skipLightMap": false,
"meshes": "",
"materials": "",
"emissiveEnabled": false,
"emissiveMeshes": "",
"emissiveMaterials": "",
"emissiveIntensity": 1
}
]
}
LightSet properties
| Name | Description | Possible values |
|---|---|---|
| name | Display name of the LightSet shown in the tile grid | String |
| lights | Array of light objects in this set | Array |
Light properties
| Name | Description | Possible values |
|---|---|---|
| name | Label for this light shown in the editor | String |
| enabled | Whether this light is active when the LightSet is applied | true | false |
| posX / posY / posZ | Position offset of the light in world space | Number (−500 to 500) |
| dirX / dirY / dirZ | Direction vector for spotlights | Number |
| spot | Spotlight cone angle in degrees (0 = point light) | Number (0–175) |
| spotSharpness | Hardness of the spotlight cone edge | Number (0–1) |
| colorStops | Array of color stops for single color or animated gradient | Array of { r, g, b } |
| intensity | Light brightness multiplier | Number (0.1–50) |
| holdTime | Seconds to stay at each color stop before transitioning | Number |
| transitionTime | Seconds to blend from one color stop to the next | Number |
| range | Maximum illumination radius in metres | Number (0.1–500) |
| volumetricLight | Enable volumetric (fog/haze) rendering for this light | true | false |
| fadeAt | Distance at which the light begins to fade | Number |
| fadeSmooth | Fade transition width | Number |
| shadows | Enable real-time shadows | true | false |
| shadowsStatic | Cast shadows only against static geometry | true | false |
| shadowsHalfRes | Render shadow map at half resolution | true | false |
| shadowsExtraBlur | Apply extra softening to shadow edges | true | false |
| specularMultiplier | Strength of specular highlights | Number (0–5) |
| diffuseConcentration | Focuses diffuse illumination toward the light center | Number (0–1) |
| rangeGradientOffset | Adjusts how brightness falls off across the range | Number (0–1) |
| affectsCars | Whether the light illuminates car models | true | false |
| showInReflections | Whether the light appears in reflection surfaces | true | false |
| skipLightMap | Exclude this light from lightmap calculations | true | false |
| meshes | Comma-separated mesh names to attach this light to | String |
| materials | Material string for material-only lights | String |
| emissiveEnabled | Drive a mesh ksEmissive property in sync with this light | true | false |
| emissiveMeshes | Mesh names to apply emissive control to | String |
| emissiveMaterials | Material names to apply emissive control to | String |
| emissiveIntensity | Emissive brightness override | Number (0–10) |
Color stops
Each entry in colorStops is an object with three fields:
| Field | Description | Values |
|---|---|---|
r | Red channel | 0–1 |
g | Green channel | 0–1 |
b | Blue channel | 0–1 |
A single color stop produces a static light. Two or more stops produce an animated gradient. The animation cycles through stops using the holdTime and transitionTime values defined on the parent light.
info
holdTime and transitionTime are shared across all lights in a LightSet, keeping them synchronized.