feat(world): render steep tiles on a smooth bicubic surface, sampled in parallel
Tiles holding a slope over 35 degrees are meshed at two vertices per cell on a clamped Catmull-Rom surface that passes through every grid node, so cliffs and ledges lose the facets of the heightfield grid while the collision stays on the grid. The domain field exposes the smooth elevation and a separable, per-phase-weighted block sampler with linear edge extrapolation and a one-cell margin for continuous normals; the actor samples tiles on the worker thread pool and builds meshes afterwards. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
d7e50f8879
commit
122f3f5800
11 files changed
+314
-19
No files matched your search
@@ -245,7 +245,14 @@ de contacts existant les sépare du fond.
|
||||
à 45 m, indigo au pied du tombant).
|
||||
- Maillage découpé en **64 tuiles de 96 × 96 m** (64 × 64 cellules), avec
|
||||
`visibility_range` pour ne dessiner que les tuiles dans le brouillard
|
||||
utile ; une seule `HeightMapShape3D` pour la collision.
|
||||
utile ; une seule `HeightMapShape3D` pour la collision. Les tuiles qui
|
||||
contiennent une pente de plus de 35° sont rendues à deux sommets par
|
||||
cellule sur la surface bicubique (Catmull-Rom, qui passe par chaque nœud
|
||||
du champ, bornée entre nœuds pour ne jamais dépasser une marche) : les
|
||||
facettes de la grille disparaissent sur les parois, la collision reste sur
|
||||
la grille et coïncide avec le rendu aux nœuds. L'échantillonnage des tuiles
|
||||
est pur et s'exécute en parallèle (`WorkerThreadPool`), les maillages sont
|
||||
assemblés ensuite sur le thread principal.
|
||||
- Props low-poly posés à la main, en nombre borné : blocs d'éboulis au pied
|
||||
du tombant, têtes de corail sur les patch reefs, rien d'animé.
|
||||
- Brouillard, lumière directionnelle et particules de la scène de test
|
||||
|
||||
Reference in new issue
Block a user