// Start is called before the first frame update void Update() { if (update) { update = false; //Compacting variables chunksPerAxis = new Vector3(chunksAxisX, chunksAxisY, chunksAxisZ); noiseScale = new Vector3(noiseX, noiseZ); surfaceSettings = new float[] { repeat, surfaceHeight, surfaceRelief }; caveSettings = new int[] { caveItirations, caveBirth, caveDeath, initialCave, cavesSeed }; data.GenerateData(chunkSize, chunksPerAxis, noiseScale, surfaceSettings, caveSettings); if (chunksPerAxis == lastChunksPerAxis) { UpdateVoxelChunks(data); } else { GenerateVoxelChunks(data); } } }
private void Start() { chunks = new GameObject[chunksAxisX, chunksAxisY, chunksAxisZ]; data = new VoxelData(); lastChunksPerAxis = Vector3.zero; data.perlinNoise = perlinNoise; data.generator = generatorShader; //Compacting variables chunksPerAxis = new Vector3(chunksAxisX, chunksAxisY, chunksAxisZ); noiseScale = new Vector3(noiseX, noiseZ); surfaceSettings = new float[] { repeat, surfaceHeight, surfaceRelief }; caveSettings = new int[] { caveItirations, caveBirth, caveDeath, initialCave, cavesSeed }; stopwatch.Reset(); stopwatch.Start(); data.GenerateData(chunkSize, chunksPerAxis, noiseScale, surfaceSettings, caveSettings); stopwatch.Stop(); UnityEngine.Debug.Log("Data generation took:" + stopwatch.Elapsed); GenerateVoxelChunks(data); }
// Update is called once per frame void Start() { voxelData.GenerateData(blockDim); GenerateVoxelMesh(voxelData); UpdateMesh(); }