public void Update() { // If there is no task, there is nothing to update if (_generatorTask == null) { return; } // If the task is not completed, there is nothing to do yet if (!_generatorTask.Completed) { return; } if (Mesh == null) { return; } // Task is completed, recreate the mesh Mesh.Clear(); Mesh.vertices = _generatorTask.Vertices; Mesh.normals = _generatorTask.Normals; Mesh.uv = _generatorTask.UV; Mesh.uv2 = _generatorTask.UV2; Mesh.triangles = _generatorTask.Triangles; Mesh.tangents = _generatorTask.Tangents; Mesh.Optimize(); Mesh.RecalculateBounds(); _generatorTask = null; WaitingForUpdate = false; }
private void UpdateMesh() { if (_billboardData == null) { return; } // Set voxels and queue this mesh up to be generated _generatorTask = new BillboardCrossGeneratorTask(_billboardData); VoxelMeshGeneratorThread.Generator.EnqueueTask(_generatorTask); WaitingForUpdate = true; }
public void OnDestroy() { _generatorTask = null; }
public void Update() { // If there is no task, there is nothing to update if(_generatorTask == null) { return; } // If the task is not completed, there is nothing to do yet if(!_generatorTask.Completed) { return; } if(Mesh == null) { return; } // Task is completed, recreate the mesh Mesh.Clear(); Mesh.vertices = _generatorTask.Vertices; Mesh.normals = _generatorTask.Normals; Mesh.uv = _generatorTask.UV; Mesh.uv2 = _generatorTask.UV2; Mesh.triangles = _generatorTask.Triangles; Mesh.tangents = _generatorTask.Tangents; Mesh.Optimize(); Mesh.RecalculateBounds(); _generatorTask = null; WaitingForUpdate = false; }
private void UpdateMesh() { if(_billboardData == null) { return; } // Set voxels and queue this mesh up to be generated _generatorTask = new BillboardCrossGeneratorTask(_billboardData); VoxelMeshGeneratorThread.Generator.EnqueueTask(_generatorTask); WaitingForUpdate = true; }