コード例 #1
0
    private void Start()
    {
        //spawn player on surface
        var x      = transform.position.x;
        var result = terrainNoise.Noise1D(x);

        transform.position = new Vector3(x, result + 1.5f, 0);
    }
コード例 #2
0
    private void SpawnGrass(int xChunkPos, int yChunkPos, int localX, VoxelChunk chunk)
    {
        var noiseHeight = terrainNoise.Noise1D(xChunkPos);
        var localY      = Mathf.Floor(Mathf.Abs(noiseHeight - yChunkPos));

        if (TerrainNoise.InRange(yChunkPos, noiseHeight, 1))
        {
            for (int x = -1; x <= 1; x++)
            {
                int maxY = x == 0 ? 13 : 12;
                for (int y = -1; y < maxY; y++)
                {
                    SetPositionVoxel(localX + x, localY + y, chunk, 6);
                }
            }
        }
    }