World: flora feel fix — kill double-animation (root sway off, shader wind is the idle motion) + thin flowers
Operator: base flora too dense + "the waving/shader doesn't look great". Diagnosis: EVERY Synty flora prop (both biomes) uses the Synty/Foliage VERTEX-wind shader — the transform root-tilt sway has been double-animating all flora since 1.5, and ground-flush carpet props (Flowers_Flat, Grass_*_Plane) visibly lift their edges when tilted. - AmbientMotionConfig.SwayEnabled -> false (code default + the serialized scene value): idle motion = the authored per-vertex shader wind (tips bend, bases planted). Knob kept for A/B; walk-through RUSTLE stays as the reactive layer the shader can't provide. - AmbientMotionSystem: flat carpet props excluded from the flora cache entirely — no tilt even from rustle. - Flower density thinned deterministically: Flowers_Flat keep 40%, Wildflowers/Sunflowers keep 50%, center (r<13) thinned harder (x0.6) — 17/38 drifts off; play/build area reads clear, flowers become ring accents. Console clean; sway/rustle knobs remain live-tunable in the scene. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,10 @@ namespace ProjectM.Client
|
||||
if (!FloraName.IsMatch(t.gameObject.name)) continue;
|
||||
if (t.gameObject.name.Contains("LOD")) continue; // prop roots only; LOD children follow
|
||||
if (t.GetComponent<LODGroup>() == null && t.GetComponent<MeshRenderer>() == null) continue;
|
||||
// 1.5b: ground-flush carpet props (Flowers_Flat, Grass_*_Plane) must NEVER root-tilt —
|
||||
// any rotation lifts their edges off the ground; they stay fully static (shader wind only).
|
||||
if (t.gameObject.name.IndexOf("Flat", System.StringComparison.OrdinalIgnoreCase) >= 0
|
||||
|| t.gameObject.name.IndexOf("Plane", System.StringComparison.OrdinalIgnoreCase) >= 0) continue;
|
||||
var p = t.position;
|
||||
_flora.Add(new Flora
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user