Authoring
Profiles
Share grass, wind, and quality presentation across terrain renderers.
Profile mode separates reusable visual tuning from terrain-local setup.
TerrainGrassProfile owns the grass material, blade shape, natural variation, lighting style, and stomp response multipliers. Multiple TerrainGrassRenderer components can reference the same profile so visual changes propagate through the profile registry and existing fingerprint categories.
Lighting style includes root occlusion, wrapped diffuse response, lit-mode tip sheen, transmission, ambient and direct intensity, shadows, additional lights, and two-sided normals. See lighting.md for the cinematic lighting controls and cost boundary.
Renderer-local settings still own terrain, TerrainLayer selection, layer fallback index, placement density, seed, chunk size, max blade count, slope and hole filtering, stomp texture resources, update timing, and camera layer mask. Existing renderers stay in Embedded mode and continue reading their serialized component settings.
Use the renderer Actions > Profiles menu to create profiles from current embedded settings, assign bundled presets, or create editable copies. Editable copies are created under Assets/Kiwi Studios/Kiwi Grass/Profiles.
On a renderer already in Profile mode, Create Profile From Current Settings copies the active grass, wind, and quality profiles rather than the inactive embedded fallback values.
Use Actions > Setup > Apply Cinematic Far Quality to upgrade only the quality surface of an existing renderer. Embedded renderers receive the balanced 320 m planar-distance Cinematic baseline with camera-only motion vectors; Profile renderers switch to the bundled Cinematic quality profile, including full procedural motion vectors, without changing their grass or wind profiles.
Bundled visual palettes
Each bundled grass profile references its own package material so switching profiles changes the field silhouette, palette, natural variation, lighting response, and stomp response together.
- Short Lawn uses compact cool greens with restrained dry variation.
- Soft Meadow uses a darker olive-sage palette, fuller curved leaves, broad coherent short and tall regions, and Meadow Breeze motion for a calm neutral-grade field.
- Tall Wild Grass is the cinematic hero field: lush, strongly varied height regions with a pale gold palette and coherent Meadow Breeze wind.
- Silver Pampas uses cool taupe roots, pale silver-beige tips, and strong warm transmission for luminous backlit fields.
- Dry Field uses burnt ochre and orange-gold values with stronger dryness variation.
- Stylized Grass uses a bold crimson palette and the inexpensive Simple lighting path.
The default runtime material remains the neutral import fallback. Bundled profile materials are package assets; create an editable material or profile copy before changing them for a project.
| grass profile | silhouette and palette | recommended pairing |
|---|---|---|
| Short Lawn | compact cool green | Calm, Mobile High or Desktop High |
| Soft Meadow | full curved olive-sage | Meadow Breeze, Desktop High |
| Tall Wild Grass | tall pale-gold hero field | Meadow Breeze, Cinematic |
| Silver Pampas | pale silver-beige backlit blades | Meadow Breeze, Cinematic |
| Dry Field | burnt ochre and orange-gold | Strong Wind, Desktop High |
| Stylized Grass | bold crimson Simple-lit field | Calm, Mobile High |
The combined Cinematic Grass Showcase is the interactive Tall Wild Grass plus Silver Pampas gallery. The durable visual-regression.md images lock the accepted geometry, lighting, and LOD presentation; use editable copies to build project-specific palette captures.
Blade authoring is finite-clamped to the terrain-grass safety range: height 0.01-16 meters and width 0.001-4 meters. Natural height and width variation remain part of the deformation-bounds calculation, so profile extremes inside those ranges stay covered during culling and shadow submission.
Still stuck?
Bring the renderer status with you.
Include the Kiwi Grass version, Unity and URP versions, operating system, graphics API, renderer status, Player log, and a minimal reproduction.