public void InitChunk(Vector2 chunkPoss, TerrainGeneratorSettings tgS) { GetComponent <MeshRenderer>().material = material; meshCollider = GetComponent <MeshCollider>(); ChunkName = Chunk.GenerateChunkName(chunkPoss); this.mapGenerator = FindObjectOfType <MapGenerator>() as MapGenerator; this.genSets = tgS; this.chunkPoss = chunkPoss; this.meshFilter = GetComponent <MeshFilter>(); this.meshRenderer = GetComponent <MeshRenderer>(); mesh = new Mesh(); material.mainTexture = mapGenerator.textureAtlas.atlas; GenerateMesh(); meshFilter.mesh = mesh; UpdateMesh(); meshCollider.sharedMesh = mesh; }
private void GeneratePerlinNoise() { this.genSets = mapGenerator.GeneratorSettings; for (int i = 0, x = 0; x < genSets.chunkSize; x++) { for (int z = 0; z < genSets.chunkSize; z++) { float xCoord = ((x + (chunkPoss.x * (genSets.chunkSize - 1))) + genSets.seed) / (genSets.chunkSize * genSets.scale); float yCoord = ((z + (chunkPoss.y * (genSets.chunkSize - 1))) + genSets.seed) / (genSets.chunkSize * genSets.scale); float value = genSets.maxHeight * (Mathf.PerlinNoise(xCoord, yCoord) * genSets.layer2Value * Mathf.PerlinNoise(xCoord, yCoord)); vectors[i].y = value; i++; } } }