Add baked voxel concealment volumes for concave furniture
Replace unreliable raycast parity on open-shell meshes with editor-baked voxel grids. ConcealmentVolume bakes an inside-mask per object using the union of a generalized-winding-number test (solid material, robust to open shells) and an exterior flood-fill (enclosed cavities). ConcealmentMeter now prefers baked volumes via an O(1) world-space lookup through a registry, falling back to the old concave parity only for un-baked colliders. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
a3ef7055b4
commit
13de058819
5 files changed
+763
-452
No files matched your search
@@ -3366,6 +3366,9 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 156146, guid: 62a7d5dd45994494182ff5c1d8da0d3c, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1666568580}
|
||||
- targetCorrespondingSourceObject: {fileID: 156146, guid: 62a7d5dd45994494182ff5c1d8da0d3c, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1666568584}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 62a7d5dd45994494182ff5c1d8da0d3c, type: 3}
|
||||
--- !u!4 &753428817 stripped
|
||||
Transform:
|
||||
@@ -4678,7 +4681,7 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
includeConcaveMeshColliders: 0
|
||||
includeTerrain: 1
|
||||
includeTerrain: 0
|
||||
evaluateInterval: 0.1
|
||||
evaluateInPlayMode: 1
|
||||
drawGizmos: 0
|
||||
@@ -5006,6 +5009,30 @@ MeshCollider:
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 6bb1e412df9cd4efd8941377ebabb1be, type: 3}
|
||||
--- !u!114 &1260370193
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1260370184}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0a59a347a3128354ebd4f84afc97a0c5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::ConcealmentVolume
|
||||
resolution: 48
|
||||
sourceMesh: {fileID: 0}
|
||||
method: 0
|
||||
drawBakedGizmos: 0
|
||||
gizmoColor: {r: 0.2, g: 0.6, b: 1, a: 0.35}
|
||||
origin: {x: -1.102527, y: -0.6764439, z: -0.04410102}
|
||||
voxelSize: 0.044101078
|
||||
nx: 50
|
||||
ny: 31
|
||||
nz: 15
|
||||
bits: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000e0790000000080e701000000009e0700000000780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000780000000080e701000000009e0700000000781e00000000e0010000000000000000000000800700000000781e00000000e0790000000080e701000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000e0790000000080e701000000009e070000000078000000000000000000000000e001000000009e0700000000781e00000000e07900000000800700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800700000000781e00000000e0790000000080e701000000001e000000000000000000000000780000000080e701000000009e0700000000781e00000000e00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e001000000009e0700000000781e00000000e0790000000080070000000000000000000000001e00000000e0790000000080e701000000009e0700000000780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000780000000080e701000000009e0700000000781e00000000e0010000000000000000000000800700000000781e00000000e0790000000080e701000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000e0790000000080e701000000009e070000000078000000000000000000000000e001000000009e0700000000781e00000000e07900000000800700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800700000000781e00000000e0790000000080e701000000001e000000000000000000000000780000000080e701000000009e0700000000781e00000000e00100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e001000000009e0700000000781e00000000e0790000000080070000000000000000000000001e00000000e0f9ffffffffffe701000000009e0700000000780400000000801000000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080100000000000420000000000080100000000200400000000801000000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080780000000080e7ffffffffff9fffffffffff7f1e00000000e001000000000000000000000080070000000078feffffffffff790000000080e701000000001e01000000002004000000008010000000000042000000000008010000000020040000000080100000000000420000000000080100000000200400000000801000000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080100000000000420000000000080100000000201e00000000e0f9ffffffffffe7ffffffffff9f070000000078000000000000000000000000e001000000009effffffffff7f1e00000000e0790000000080470000000000080100000000200400000000801000000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080100000000000420000000000080100000000200400000000801000000000004200000000000801000000002004000000008010000000000042000000000088070000000078fefffffffffff9ffffffffffe701000000001e000000000000000000000000780000000080e7ffffffffff9f0700000000781e00000000e01100000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080100000000000420000000000080100000000200400000000801000000000004200000000000801000000002004000000008010000000000042000000000008010000000020040000000080100000000000e201000000009efffLine truncated
|
||||
insideCount: 2891
|
||||
--- !u!1 &1282734303
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6414,6 +6441,30 @@ MeshCollider:
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 4300000, guid: 0727ba69b779d42a0978a362226fad3e, type: 3}
|
||||
--- !u!114 &1666568584
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1666568576}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0a59a347a3128354ebd4f84afc97a0c5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::ConcealmentVolume
|
||||
resolution: 48
|
||||
sourceMesh: {fileID: 0}
|
||||
method: 0
|
||||
drawBakedGizmos: 0
|
||||
gizmoColor: {r: 0.2, g: 0.6, b: 1, a: 0.35}
|
||||
origin: {x: -1.3557315, y: -0.70876616, z: -0.054229498}
|
||||
voxelSize: 0.05422926
|
||||
nx: 50
|
||||
ny: 26
|
||||
nz: 27
|
||||
bits: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000c010000000030000000000000000000000000000000000000000000000000000c00000000c030000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000c030000000000003000000000000000000000000000000000000000000000000c000000000000c03000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000c030000000030000000000000000000000000000000000000000000000000000c00000000c030000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000c030000000000003000000000000000000000000000000000000f8ffffffffffef0300000000bf0f00000000fc3e00000000f0fb00000000c0ef0300000000bf0f00000000fc3e00000000f0fb00000000c0ef0300000000bf0f00000000fc3e00000000f0fb00000000c0ef0300000000bf0f00000000fc3e00000000f0fb00000000c0ef0300000000bf0f00000000fc3e00000000f0fbffffffffffefffffffffffbffffffffffffffeffffffffff03000000000000000000000080fffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffff3f000000000000000000000000f8ffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffeffffffffff03000000000000000000000080fffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffff3f000000000000000000000000f8ffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffeffffffffff03000000000000000000000080fffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffff3f000000000000000000000000f8ffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffeffffffffff03000000000000000000000080fffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffff3f000000000000000000000000f8ffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffeffffffffff030000000000000000000000800700000000f8fefffffcfffffbfffff3ffffefffffcfffffbfffff3ffffffffefffffcfffffbfffff3ffffefffffcfffffbfffff3ffffffffefffffcfffffbfffff3ffffefffffdfffffbfffff7ffffffffefffffdfffffbfffff7ffffefffffdfffffbfffff7ffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffff3f000000000000000000000000780000000080ef0100000000be0700000000f81eff1fe0ffe37bfc7f80ff8feff1ff01fe3fbec7ff07f8fff81eff1fe0ffe37bfc7f80ff8feff1ff01fe3fbec7ff07f8fff81eff1fe0ffe37bfc7f80ff8feff1ff01fe3fbec7ff07f8fff81eff1fe0ffe3fbffffffffffefffffffffffbffffffffffffffefffffffffffbffffffffffefffffffffffbffffffffffffffeffffffffff030000000000000000000000800700000000f81e00000000e07b0000000080ef0100000000be0700000000f81e00000000e07b0000000080ef0100000000be070Line truncated
|
||||
insideCount: 15957
|
||||
--- !u!134 &1671101580
|
||||
PhysicsMaterial:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -7200,6 +7251,9 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 133438, guid: 6f95ff39b42c3414d9a7ced2eea58274, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1260370189}
|
||||
- targetCorrespondingSourceObject: {fileID: 133438, guid: 6f95ff39b42c3414d9a7ced2eea58274, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 1260370193}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 6f95ff39b42c3414d9a7ced2eea58274, type: 3}
|
||||
--- !u!4 &1860487068 stripped
|
||||
Transform:
|
||||
|
||||
Reference in new issue
Block a user