示例#1
0
        private void Proc()
        {
            if (meshChunks == null)
            {
                return;
            }

            for (int i = 0; i < meshChunks.Count; i++)
            {
                meshingMaterials[i]     = VoxTerrainMeshingTool.GreedyMeshing(meshChunks[i]);
                coliderMeshMaterials[i] = VoxTerrainMeshingTool.GreedyMeshing_ColiderMesh(meshChunks[i]);
            }
        }
示例#2
0
        // 更新指定Chunk
        private void UpdateChunk(_16x256x16VoxChunk chunk)
        {
            if (!HasTheChunk(chunk))
            {
                return;
            }

            MeshingMaterial meshMat        = VoxTerrainMeshingTool.GreedyMeshing(chunk);
            MeshingMaterial coliderMeshMat = VoxTerrainMeshingTool.GreedyMeshing_ColiderMesh(chunk);
            Mesh            mesh           = meshMat.ToMesh();
            Mesh            coliderMesh    = coliderMeshMat.ToMesh();

            var oldMeshObj = GetMeshObj(chunk.UniqueID);

            DestroyImmediate(oldMeshObj);
            CreateMeshObj(chunk, mesh, coliderMesh);
        }
示例#3
0
 public Mesh ToMesh()
 {
     return(VoxTerrainMeshingTool.CreateMesh(vertices, triangles, uvs));
 }