Add surface-cluster collider baker for concealment volumes
Generate multiple convex collider proxies from a mesh by growing triangles into thin slabs (PCA minor-axis thickness gate) and hulling each slab, so shelves and open compartments stay hollow while boards count as embedding surfaces. Baked meshes get readable, deterministic asset names (scene/prefab path + hierarchy + collision index) instead of GUIDs. ConcealmentMeter now also excludes a furniture's own concave mesh collider when a ConcealmentColliderBaker sits in its parent, symmetric to the existing ConcealmentVolume rule. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
8603b0d884
commit
5c1f31a887
3 files changed
+613
-2
No files matched your search
@@ -323,8 +323,9 @@ public class ConcealmentMeter : MonoBehaviour
|
||||
|
||||
if (col is MeshCollider mc && !mc.convex)
|
||||
{
|
||||
// A baked volume supersedes raycast parity for this object.
|
||||
if (includeConcaveMeshColliders && !mc.GetComponentInParent<ConcealmentVolume>())
|
||||
// A baked ConcealmentVolume or ConcealmentColliderBaker supersedes raycast parity for this object.
|
||||
if (includeConcaveMeshColliders && !mc.GetComponentInParent<ConcealmentVolume>()
|
||||
&& !mc.GetComponentInParent<ConcealmentColliderBaker>())
|
||||
_concave.Add(mc);
|
||||
continue; // concave can't use ClosestPoint
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user