Пример #1
0
        // Create the mesh from a chunk
        public void CreateMeshFromChunk(Chunk chunk)
        {
            m_Chunk = chunk; // maybe change to a once only?

            Debug.Log("Creating Mesh For Chunk" + chunk.ToString());
            m_MeshFilter.mesh.Clear();
            m_MeshFilter.mesh.vertices  = chunk.Vertices.ToArray();
            m_MeshFilter.mesh.normals   = chunk.Normals.ToArray();
            m_MeshFilter.mesh.uv        = chunk.UVs.ToArray();
            m_MeshFilter.mesh.colors    = chunk.Colours.ToArray();
            m_MeshFilter.mesh.triangles = chunk.Indices.ToArray();
            m_MeshCollider.sharedMesh   = null;
            m_MeshCollider.sharedMesh   = m_MeshFilter.mesh;

            chunk.Vertices = new List <Vector3>();
            chunk.Normals  = new List <Vector3>();
            chunk.UVs      = new List <Vector2>();
            chunk.Colours  = new List <Color>();
            chunk.Indices  = new List <int>();
            chunk.MarkRebuilt();
        }