void NoiseMapExplosion() { _counter = new Counter(Allocator.Persistent); var noiseUpdateJob = new ChunkExplodeJob() { size = size + 1, explosionOrigin = newExplosionSpot, explosionRange = explosionRange, newDensity = explosionValue, noiseMap = noiseMap }; var handl = noiseUpdateJob.Schedule((size + 1) * (size + 1) * (size + 1), 64); var marchingJob = new MarchingJob() { densities = noiseMap, isolevel = 0f, chunkSize = size, triangles = indexes, vertices = buffer, counter = _counter }; var marchinJob = marchingJob.Schedule(size * size * size, 32, handl); myHandle = marchinJob; isBeingProcessed = true; }
void MarchChunk() { _counter = new Counter(Allocator.Persistent); var arraySize = size * size * size; var noiseJob = new NoiseJob() { ampl = WorldBase.noiseData.ampl, freq = WorldBase.noiseData.freq, oct = WorldBase.noiseData.oct, offset = pos, seed = WorldBase.noiseData.offset, surfaceLevel = WorldBase.noiseData.surfaceLevel, noiseMap = noiseMap, size = size + 1 //pos = WorldSetup.positions }; var noiseHandle = noiseJob.Schedule((size + 1) * (size + 1) * (size + 1), 64); var marchingJob = new MarchingJob() { densities = noiseMap, isolevel = 0f, chunkSize = size, triangles = indexes, vertices = buffer, counter = _counter }; var marchinJob = marchingJob.Schedule(arraySize, 32, noiseHandle); myHandle = marchinJob; isBeingProcessed = true; }
void RefreshChunkMesh() { _counter = new Counter(Allocator.Persistent); var marchingJob = new MarchingJob() { densities = noiseMap, isolevel = 0f, chunkSize = size, triangles = indexes, vertices = buffer, counter = _counter }; var marchinJob = marchingJob.Schedule(size * size * size, 32); myHandle = marchinJob; isBeingProcessed = true; }