OptionalbaseBlade colour at the root (any CSS colour).
OptionalbladeBlade height in metres. Any height works (lawns ~0.1, meadows ~0.5, tall grass 1–3).
OptionalbladeBlade width at the base in metres.
OptionalbuildMilliseconds per frame spent (re)building tiles, nearest first. Spreads work to avoid frame spikes.
The camera the field is centred on and whose distance drives LOD.
OptionalcastWhether grass within shadowDistance casts shadows (needs a shadow-casting light).
Optionalclumping0..1 how strongly blades gather into tufts that splay outwards.
OptionalclumpTuft diameter in metres.
Optionalcolor0..1 per-blade brightness variation.
Optionalcurvature0..1 natural droop of blades when there is no wind.
OptionaldebugTints grass by LOD (red, yellow, green, blue) to help tune lods.
OptionaldensityBlades per square metre at full density (LOD 0).
OptionalgrassCoverage/height control texture; see GrassMap. null = grass everywhere.
Optionalheight0..1 random height spread per blade.
OptionalinteractionGlobal multiplier on how strongly interactors bend grass.
OptionalinteractorsUp to 16 objects that push grass aside.
OptionallodsExactly four levels of detail, ordered near → far.
OptionalmaxRadius (metres) around the camera that has grass. Blades fade out over the last 15%.
OptionalmaxSteepest terrain gradient (rise / run) that still grows grass. Infinity disables the check.
Optionalpatchiness0..1 field-scale light/dark and dry patches.
OptionalpresetStarting look; any GrassStyle field you pass overrides the preset's value.
OptionalreceiveWhether grass receives shadows.
OptionalrendererMust be a WebGPURenderer (three/webgpu); it falls back to WebGL2 by itself. Initialised if needed.
OptionalsceneIf given, grass is added to it and updates itself every frame via scene.onBeforeRender.
OptionalshadowRadius (metres) around the camera in which grass casts shadows. Shadows are costly: keep it small.
OptionalstiffnessHigher = less wind/interaction bending.
OptionalsunLight used for back-lit translucency. null = first DirectionalLight found in the scene.
OptionalterrainMesh/group to grow on (baked once into a heightfield), a (x, z) => y function, or omit for flat ground.
OptionaltileEdge length of a streaming tile in metres. Tiles are re-centred around the camera.
OptionaltipBlade colour at the tip (any CSS colour).
Optionaltranslucency0..1 how much sunlight shines through blades when back-lit.
OptionaltypeDetailed geometric blades, or lightweight view-facing billboard tufts.
Optionalwidth0..1 random width spread per blade.
OptionalwindWind settings to change; unspecified fields keep their current value.
Options for Grass.create.