我正在寻找一种在Three.js中生成 no-uniform 山的简单方法。我已经能够使用粒子创建到山体效果并使用正弦波算法定位它们(大致)
x = Math.random() * 1000
y = Math.sin( x / freq ) * amp
z = Math.random() * 1000
然而,这种方法似乎很笨拙,产生的山丘高度均匀。我在考虑使用PlaneGeometry
,但我不确定这是不是一个好方法。任何想法都会有所帮助。
答案 0 :(得分:1)
我猜你正在尝试生成随机地形。 然后,使用Math.random非常迅速地提供切削面而不是圆形效果。
使用简单的perlin noise库可以更快地达到您想要达到的效果(“自然形状的山丘”)。 例如。 https://github.com/josephg/noisejs
“Three.js Essential”一书中的完整章节涵盖了这个确切的主题。