C# 统一三维地形生成

C# 统一三维地形生成,c#,unity3d,procedural-generation,C#,Unity3d,Procedural Generation,我正在做一个3d游戏,我必须做一些地形生成,以获得无限和随机的水平。 地形必须起伏不平,如下所示: 我使用perlin noise生成了一个地形,队列中有多个平面,在玩家前进时更新它们(我有最后一个平面的Z位置,所以当我从队列中窥视第一个平面时进行更新,通过mathf.PerlinNoise(0,zPosition))将其出列,并使用新顶点再次将其入列) 我在第一个参数中使用0的原因是,平面在x轴上是一致的 我想有一个类似于沙丘的3d游戏,玩家控制一个球,落地时点击使球加速,空中时点击使球下降

我正在做一个3d游戏,我必须做一些地形生成,以获得无限和随机的水平。 地形必须起伏不平,如下所示:

我使用perlin noise生成了一个地形,队列中有多个平面,在玩家前进时更新它们(我有最后一个平面的Z位置,所以当我从队列中窥视第一个平面时进行更新,通过mathf.PerlinNoise(0,zPosition))将其出列,并使用新顶点再次将其入列) 我在第一个参数中使用0的原因是,平面在x轴上是一致的

我想有一个类似于沙丘的3d游戏,玩家控制一个球,落地时点击使球加速,空中时点击使球下降,他可以通过顺利通过下坡获得分数和连胜,或者在遇到上坡时死亡

问题:


柏林噪音并不总是像我需要的那样上下起伏,有时它有中间的曲线,使球跳起来,有奇怪的不需要的运动……感谢您在这方面的帮助。

我通过使用正态分布函数生成波浪解决了这个问题,通过修改参数,我可以为波浪添加宽度或高度 每个“波”使用5个平面(每个波是一个由5个平面组成的游戏对象数组),只需穿过x轴上的顶点,将其所有高度更改为函数中计算的相同值,增加x并再次执行