Ejemplo n.º 1
0
 void Update()
 {
     if (filter.mesh != null) {
         if (filter.mesh.name != meshName) {
             mesh = filter.mesh;
             graph = new Graph(mesh);
             mesh = graph.BuildMesh(true);
             filter.mesh = graph.BuildMesh(false);
             filter.mesh.name = meshName;
         }
         Vector3[] mVerts = mesh.vertices;
         Vector3[] mNorms = mesh.normals;
         for (int v = 0; v < mVerts.Length; v ++) {
             mVerts[v] = VertexTransform(mVerts[v], mNorms[v]);
         }
         filter.mesh.vertices = mVerts;
     }
     else {
         mesh = null;
         graph = null;
     }
 }
Ejemplo n.º 2
0
 void Start()
 {
     generator = GetComponent<TerrainGenerator>();
     filter = GetComponent<MeshFilter>();
     if (terrainMesh != null) {
         graph = new Graph(terrainMesh);
         terrain = generator.GenerateTerrain(graph);
         if (water != null) {
             water.sharedMesh = graph.BuildMesh(false,
                 (vertex) => {
                     return vertex.position + vertex.normal * waterGrow;
                 }
             );
         }
         GenerateMesh();
     }
 }