所以我试图在随机生成的星球上制作游戏。我想出了一个脚本,它会产生所需的噪音,但不知道如何生成瓷砖。我想创造一个类似于Terraria但在圆形星球上的世界。我希望能够控制每一层的深度。
public class CircularNoise
{
System.Random random = new System.Random();
float offsetX, offsetY;
float scale;
public CircularNoise(float scale)
{
offsetX = random.Next(100000);
offsetY = random.Next(100000);
this.scale = scale;
}
public float getNoise(float radian)
{
float r = radian % (float)Math.PI*2;
if(r < 0.0){r += (float)Math.PI*2;}
return Mathf.PerlinNoise(offsetX + (float)Math.Cos(r) * scale, offsetY + (float)Math.Sin(r) * scale);
}
}