public void UpdateChunk(float noiseScale, int chunkSize, int chunkHeight) { _isVoxelsReady = false; chunkData = new ChunkData(chunkSize, chunkHeight); _voxels = new NativeList <VoxelData>(Allocator.TempJob); var job = new ChunkGenerateVoxelsJob() { voxelData = _voxels, noiseScale = noiseScale, chunkSize = chunkSize, chunkHeight = chunkHeight, position = transform.localPosition }; _jobHandle = new JobHandleExtended(job.Schedule()); }
public void GenerateMesh(ChunkData chunkData) { ResetRender(); _triangles = new NativeList <int>(Allocator.TempJob); _vertices = new NativeList <Vector3>(Allocator.TempJob); _voxels = new NativeList <VoxelData>(chunkData.Voxels.Count, Allocator.TempJob); _voxels.CopyFrom(chunkData.Voxels.ToArray()); var job = new ChunkGenerateMeshJob() { triangles = _triangles, vertices = _vertices, voxels = _voxels }; _jobHandle = new JobHandleExtended(job.Schedule()); }