post: only claim shipped tiers — crowd + hero, not impostor
This commit is contained in:
@@ -373,13 +373,13 @@ NORMAL = normalize((skin * vec4(NORMAL, 0.0)).xyz);</code></pre>
|
||||
<p>At runtime, <code>AnimalHerdRenderer</code> spawns one <code>skinned_herd</code> per animal type. The herd bakes the palette from the model's clips. Animation logic maps sim FSM states to clip keywords (attack → attack/bite, flee → run/gallop, wander → walk). The renderer lerps positions between sim ticks for smooth motion and writes per-instance custom data each frame. Zero per-frame CPU on the animation path.</p>
|
||||
<h2>Where we stand vs the industry</h2>
|
||||
<p>The bone-matrix palette technique is the same architecture used by Assassin's Creed Unity, Total War: Warhammer, and Hitman for their crowd systems. We're using the same core idea, in a Godot fork, with smaller VRAM — our low-poly animals keep textures tiny.</p>
|
||||
<p>The platform supports three tiers by distance, all driven by the same <code>(clip, count, speed, phase)</code> packet:</p>
|
||||
<p>Stock Godot has no answer for this. <code>Skeleton3D</code> per character caps at ~20. <code>MultiMesh</code> can't skin. There is no built-in crowd animation path.</p>
|
||||
<p>The platform runs two tiers by distance, driven by the same <code>(clip, count, speed, phase)</code> packet:</p>
|
||||
<ul>
|
||||
<li><strong>Crowd tier (palette)</strong> — baked poses, GPU-driven, zero CPU. Thousands of agents.</li>
|
||||
<li><strong>Hero tier (real rigs)</strong> — <code>AnimationTree</code> + <code>SkeletonIK3D</code> + <code>PhysicalBone3D</code> for the nearest few. Smooth gait blends, foot-lock, look-at, ragdoll.</li>
|
||||
<li><strong>Impostor tier (2D billboards)</strong> — sprite atlas indexed by view-angle and animation-frame. For very far agents.</li>
|
||||
<li><strong>Crowd tier (palette)</strong> — baked poses, GPU-driven, zero CPU. Thousands of agents in one draw call per type.</li>
|
||||
<li><strong>Hero tier (real rigs)</strong> — the nearest few agents get real <code>Skeleton3D</code> + <code>AnimationTree</code> + IK. Smooth crossfades, head look-at, ragdoll. Hidden from the palette so they don't double-render.</li>
|
||||
</ul>
|
||||
<p>One abstraction, three detail levels. The same code that drives 30 animals today will drive thousands of colonists at launch.</p>
|
||||
<p>Same code drives 30 animals today. Same code will drive thousands of colonists at launch.</p>
|
||||
<h2>What's deliberately not here</h2>
|
||||
<ul>
|
||||
<li><strong>No C# wrapper.</strong> Instantiate from GDScript via <code>ClassDB.instantiate()</code> — the binding surface is small and stable.</li>
|
||||
|
||||
|
Before
After
|
@@ -157,12 +157,13 @@ At runtime, `AnimalHerdRenderer` spawns one `skinned_herd` per animal type. The
|
||||
|
||||
The bone-matrix palette technique is the same architecture used by Assassin's Creed Unity, Total War: Warhammer, and Hitman for their crowd systems. We're using the same core idea, in a Godot fork, with smaller VRAM — our low-poly animals keep textures tiny.
|
||||
|
||||
The platform supports three tiers by distance, all driven by the same `(clip, count, speed, phase)` packet:
|
||||
- **Crowd tier (palette)** — baked poses, GPU-driven, zero CPU. Thousands of agents.
|
||||
- **Hero tier (real rigs)** — `AnimationTree` + `SkeletonIK3D` + `PhysicalBone3D` for the nearest few. Smooth gait blends, foot-lock, look-at, ragdoll.
|
||||
- **Impostor tier (2D billboards)** — sprite atlas indexed by view-angle and animation-frame. For very far agents.
|
||||
Stock Godot has no answer for this. `Skeleton3D` per character caps at ~20. `MultiMesh` can't skin. There is no built-in crowd animation path.
|
||||
|
||||
One abstraction, three detail levels. The same code that drives 30 animals today will drive thousands of colonists at launch.
|
||||
The platform runs two tiers by distance, driven by the same `(clip, count, speed, phase)` packet:
|
||||
- **Crowd tier (palette)** — baked poses, GPU-driven, zero CPU. Thousands of agents in one draw call per type.
|
||||
- **Hero tier (real rigs)** — the nearest few agents get real `Skeleton3D` + `AnimationTree` + IK. Smooth crossfades, head look-at, ragdoll. Hidden from the palette so they don't double-render.
|
||||
|
||||
Same code drives 30 animals today. Same code will drive thousands of colonists at launch.
|
||||
|
||||
## What's deliberately not here
|
||||
|
||||
|
||||
Reference in New Issue
Block a user