Code: Select all
private void GenerateRegion(object o)
{
BlockRenderer blockRenderer = o as BlockRenderer;
if(blockRenderer == null || blockRenderer.SolidIndexArray == null || blockRenderer.SolidVertexArray == null)
return;
RemoveRegion(blockRenderer);
Vector3[] vertexData = new Vector3[blockRenderer.SolidVertexArray.Length];
for(int i = 0; i < vertexData.Length; i++)
{
vertexData[i] = blockRenderer.SolidVertexArray[i].Position;
}
var mesh = new StaticMesh(vertexData, blockRenderer.SolidIndexArray) { ImproveBoundaryBehavior = true };
WorldSpace.SpaceObjectBuffer.Add(mesh);
regionShapes.TryAdd(blockRenderer, mesh);
}