-
Notifications
You must be signed in to change notification settings - Fork 225
Tracks – Miscellaneous options
A bunch of small things that might be interesting to configure.
CSP update 0.1.77 adds camera flashes for track spectators triggered automatically in areas with spectators when something interesting is happening close to them. To activate them, use something like:
[CONDITION_...]
NAME = CROWD_FLICKERING_NEW
INPUT = SUN
LUT = (|0=0|85=0|85=1|180=1)
[SPECTATORS]
FLASH_INTENSITY = CROWD_FLICKERING_NEW
Or just set a fixed value instead of condition, like 1. Or set it to 0 if flashes are inappropriate on your track (or don’t, it’s the default value).
Simply use [Material_DistantGeometry]
from “materials_track.ini” to make a mesh visible no matter how far it is. However, if it’s too far, some Z-fighting issues might start to appear. In such case you can simply draw those meshes first (by arranging draw order accordingly) in the correct order with depth testing set to LESSEQUAL
.
Just look for [Material_Glass]
in “materials_glass.ini”. MaskPass
can make glass colorful (multiplying colors behing it), and Refraction
parameter adds refraction. Also, RefractionBias
can be used to blur things behing the glass for some sort of frosted glass effect. Only works with meshes with transparent flag.
You can raise the overall ambient base brightness at night around some given radius by a defined density. Only one such section per track config is supported atm.
[LIGHT_POLLUTION]
RELATIVE_POSITION = 0, 0, 0 ; all values in KM except density/color of course
RADIUS_KM = 0.5
DENSITY = 0.35 ; percent/100
COLOR = 0.95, 0.8, 0.7 ; r,g,b
If your track has a lot of hills with vegetation on them, it might look out of place if trees and bushes would be evenly lit on both sunny and shadowy side of a hill. Use this to connect lighting of vegetation with lighting of a surface below it:
[ALIGN_TREES_...]
SURFACE_MATERIALS = terrain_01
TREE_MATERIALS = shader:ksTree
It would slightly increase initial loading time, but after that the computed data would be cached.
While new trees are still in development, here is a cheap and easy fix hiding tree triangles aligned with camera view and looking as thin lines because of that:
[SHADER_REPLACEMENT_...]
MATERIALS = shader:ksTree?
MATERIAL_FLAG_0 = 1
If you see shadows on your track getting detached from objects that cast them, an easy way to fix the issue would be to use double-sided biased shadows:
[SHADER_REPLACEMENT_...]
MATERIALS = building?, box?
DOUBLE_FACE_SHADOW_BIASED = 1
You can just use “?” for materials to apply it to everything, but it might work out better to only apply it to objects that need it and avoid setting it for large horizontal surfaces or objects containing of two planes back to back with no space between them (shadows for those might look worse with that option).
Tired of textures with obvious tiling? Here is a fix that’s been in CSP since very first builds (that’s why it’s so unconventionally looking):
[SHADER_REPLACEMENT_...]
MATERIALS = grass-shad
PROP_... = ksAlphaRef, -193
Works for:
- ksMultilayer;
- ksMultilayer_fresnel_nm;
- ksPerPixelMultiMap_NMDetail;
- ksPerPixelMultiMap_AT_NMDetail;
- nePerPixelMultiMap_parallax;
- nePerPixelMultiMap_tessellation.
Also, ksMultilayer_fresnel_nm4
and ksMultilayer_objsp_nm4
have a separate option for it. And if you’re just using ksPerPixel
and want to fix tiling, just switch it to a shader with a fix:
[SHADER_REPLACEMENT_...]
MATERIALS = my_material
SHADER = ksPerPixel_tilingfix
Currently by default most of shaders calculate fog in vertex shader, resulting in fog looking weird if meshes are too lowpoly. Usually those lowpoly meshes use ksPerPixel
shader, so you can simply switch to a shader with per-pixel fog:
[SHADER_REPLACEMENT_...]
MATERIALS = my_material
SHADER = ksPerPixel_ppfog
Other shaders using per-pixel fog:
- ksPerPixel_horizon (used by
[Material_Horizon]
, material meant for those tube-like meshes encircling tracks); - ksPerPixel_tilingfix;
- smWaterSurface.
If you have a simple light emitter mesh used for spotlight, there is an option to boost its emissiveness if camera is right in front of it:
[SHADER_REPLACEMENT_...]
MATERIALS = spotlight_emissive
PROP_... = ksAlphaRef, -193
Available for:
- ksPerPixel;
- ksPerPixelAlpha;
- ksPerPixelAT.
Some materials can be set on fire:
20220202-173215.mp4
To activate, add to your [SHADER_REPLACEMENT_...]
:
ATTRIBUTE_0 = ParticlesFX.Flammable, 1
Or simply use [Material_Bale]
from “materials_track.ini”. Currently only hay material gets darker as it burns, let me know if any other shaders need that behavior. And preferably consider keeping flammable meshes relatively simply, it does a bit of raycasting for flames spreading and what not.
If you have any question or suggestions, please feel free to add a new issue.
- Enabling Extended Physics
- Aerodynamics
- Body Flex
- Custom Suspension Joints
- Driver Weight Shift for Karts
- Extra Turbo Options
- More Clutch Damage
- New Inputs for Dynamic Controllers
- Physics Scripts
- Setup Items Driven By Controllers
- Suspension
- Cosmic Suspension
- Tyre Types
- Enabling Extended Physics
- General Options
- Custom Raycasting
- Collision Parameters
- Dynamic Physics Objects
- Geometric colliders
- Surface Tweaks
- Extra FX Flags
- Extra FX Emissive
- Mesh Adjustments
- Model Replacements
- Shader Replacements
- Scene Queries
- UV2
- General Options
- Analog Instruments
- Animations
- Digital Instruments
- Emissive Objects
- Extra Switches
- Inputs
- LED panels
- Multichannel Emissives
- Vintage Tachometers
- Audio
- Brake Disc FX
- Deforming Bonnets
- Driver Model
- Exhaust Smoke
- Exhaust Flames
- Extra Lights
- Fake Shadows FX
- Local Cubemaps
- Mesh Splitting
- Miscellaneous Options
- Neck FX
- Node Adjustments
- Smart Mirror
- Sparks
- Tyres FX
- Visually Adjustable Wings
- Wheels
- Wobbly Bits
- Wobbly Wipers