コード例 #1
0
    //Force complete the chunk job, update the mesh and dispose the native containers
    private void CompleteChunkJob()
    {
        optimizeHandle.Complete();

        Mesh mesh = new Mesh();

        mesh.vertices  = finalVertices.ToArray();
        mesh.triangles = finalTriangles.ToArray();
        mesh.colors    = finalColors.ToArray();
        mesh.Optimize();
        //mesh.RecalculateNormals();
        GetComponent <MeshFilter>().sharedMesh   = mesh;
        GetComponent <MeshCollider>().sharedMesh = mesh;

        //Dispose the NativeContainers
        vertices.Dispose();
        finalVertices.Dispose();
        triangles.Dispose();
        finalTriangles.Dispose();
        colors.Dispose();
        finalColors.Dispose();

        triTable.Dispose();
        edgeTable.Dispose();
        edgeTable2.Dispose();
        completed = true;
        terrain.ChunkGenerated(this);
    }