@@ -97,6 +97,11 @@ private class MeshData
9797 /// </summary>
9898 public readonly Mesh MeshObject = new Mesh ( ) ;
9999
100+ /// <summary>
101+ /// The MeshCollider with which this mesh is associated.
102+ /// </summary>
103+ public MeshCollider Collider = null ;
104+
100105 /// <summary>
101106 /// Clears the geometry, but does not clear the mesh.
102107 /// </summary>
@@ -118,6 +123,11 @@ public void Commit()
118123 MeshObject . SetTriangles ( tris , 0 ) ;
119124 MeshObject . RecalculateNormals ( ) ;
120125 MeshObject . RecalculateBounds ( ) ;
126+ if ( Collider )
127+ {
128+ Collider . sharedMesh = null ;
129+ Collider . sharedMesh = MeshObject ;
130+ }
121131 }
122132 }
123133
@@ -183,13 +193,16 @@ private void AddTriangleToSector(Vector3 sector, Vector3 point1, Vector3 point2,
183193
184194 int surfaceObjectIndex = SurfaceObjects . Count ;
185195
186- AddSurfaceObject ( CreateSurfaceObject (
187- mesh : nextSectorData . MeshObject ,
188- objectName : string . Format ( "SurfaceUnderstanding Mesh-{0}" , surfaceObjectIndex ) ,
189- parentObject : transform ,
190- meshID : surfaceObjectIndex ,
191- drawVisualMeshesOverride : DrawProcessedMesh
192- ) ) ;
196+ SurfaceObject surfaceObject = CreateSurfaceObject (
197+ mesh : nextSectorData . MeshObject ,
198+ objectName : string . Format ( "SurfaceUnderstanding Mesh-{0}" , surfaceObjectIndex ) ,
199+ parentObject : transform ,
200+ meshID : surfaceObjectIndex ,
201+ drawVisualMeshesOverride : DrawProcessedMesh ) ;
202+
203+ nextSectorData . Collider = surfaceObject . Collider ;
204+
205+ AddSurfaceObject ( surfaceObject ) ;
193206
194207 // Or make it if this is a new sector.
195208 meshSectors . Add ( sector , nextSectorData ) ;
0 commit comments