我可以使用2D Perlin噪声函数来生成高度值,但我不明白为什么会使用3D Perlin噪声函数。在Notch's blog中,他提到使用3D Perlin噪声函数来处理Minecraft上的地形生成。有谁知道如何做到这一点,为什么它会有用?如果您通过x
,y
和z
这些数值并不意味着您已经拥有身高?三维柏林噪声函数如何用于生成地形?
13
A
回答
12
那么,Minecraft是关于矿山。所以,诺奇试图解决的问题是:“我的世界如何获得洞/突出物?”
由于2D perlin噪声会生成漂亮/平滑的山丘,因此3d perlin噪声会在3D体素网格中产生漂亮/平滑的山丘和漂亮的洞。
可以找到一个实现here(虽然这是一个N维解决方案)。
在其他用例中,3D珀林噪声的Z分量设置为当前时间。这样你就可以在不同的二维珀林噪声之间平滑过渡,并且可以用作流体纹理的基础。
41
文章说究竟为什么他使用3D降噪:
我用一个2D Perlin杂高度图... ... 但觉得挺 沉闷的缺点。具体而言,这种方法无法生成任何突出部分。
因此,我将系统切换为基于3D Perlin 噪音的类似系统。我没有采样“地面 高度”,而是将噪声值视为 “密度”,其中任何低于0的任何东西都将是空气,并且任何高于或等于0的东西都将是 地面。
+6
仇恨的人必须讨厌! – Brian 2011-06-05 16:26:04
4
相关问题
- 1. 的Java柏林噪声二维地形生成
- 2. 如何生成柏林噪声在iPhone
- 3. 柏林噪声理解
- 4. 柏林噪声算法
- 5. 包装2D柏林噪声
- 6. 三维柏林噪声的解析导数产生线条伪影
- 7. 从分形柏林噪声函数均匀分布在C#
- 8. 地图生成与柏林噪声落后之后256×256立方阵列
- 9. 佩林噪声无限生成/平铺?
- 10. 用于随机地形生成的Java 2D Perlin噪声
- 11. 二维噪声生成的参数随机函数
- 12. 柏林噪音的Python随机种子
- 13. 柏林噪音看起来太格朗
- 14. 改进的柏林噪音“太平稳”
- 15. 实施薹的“程序基础知识”柏林噪声在Unity
- 16. 佩林噪声1D?
- 17. 使用perlin噪声在C#中生成地形
- 18. 如何为动态三维网格生成三角形数据
- 19. 如何生成图像噪声频率?
- 20. 珀林噪声回路as3
- 21. 用正态分布噪声和平均函数生成数据
- 22. 3D珀林噪声分析导数
- 23. 二维地形生成
- 24. 良好的柏林噪音资源/实施?
- 25. 如何在齐柏林飞艇上绘制实时图形?
- 26. 阿帕奇齐柏林安装咕噜生成错误
- 27. 培林噪声发生器在斯威夫特
- 28. 如何将噪声应用于直方图以生成新的直方图
- 29. C++中的固体噪声生成
- 30. Modelica中生成白噪声(SystemModeler)
链接已损坏,archive.org幸运地拥有2008年的快照:http://web.archive.org/web/20081118194515/http://peter.grumpykitty.biz/perlin.html – Tyron 2015-10-20 12:31:22
@Tyron谢谢!将其添加到回答文本 – jpaugh 2015-12-02 22:28:49