基于盒子的3D地形生成算法? (程序生成)

时间:2010-09-10 16:42:53

标签: java c++ c

我一直在关注这款名为Minecraft的游戏,并对如何动态生成外观和感觉正确的随机地图感到好奇。什么类型的算法用于生成基于这样的立方体的地形?

谢谢

4 个答案:

答案 0 :(得分:3)

Perlin noise通常效果很好。

同样值得研究中点位移(或diamond square algorithm

答案 1 :(得分:1)

Alredy在玩了我的世界后通过了这一步..;) http://madeinsoviets.net/index.php?option=com_content&view=article&id=7&Itemid=5 您可以使用通常的山丘算法,然后将每个高度表示为立方体。景观的其他部分使用其他算法(树木,洞穴等).. 你需要准备自己编写非常快速的渲染引擎 - JME3失败;((也许因为我没有正确使用它)。 附:我听说某个地方使用了基于体素的数据系统... - 这是另一个故事...... - 维基中的“稀疏体素八叉树”(不能使用> 1超链接)

答案 2 :(得分:1)

http://codeflow.org/entries/2010/dec/09/minecraft-like-rendering-experiments-in-opengl-4/

我发现了一个类似Minecraft的OpenGL 4渲染引擎(作为实验制作)的精彩演练,它真实地总结了你所询问的一些事情。即使他正在生成另一种地形(飞石),他确实使用单面噪声(Perlin噪声的增强变体)来生成地形。

答案 3 :(得分:0)

您还可以查看Notch(Minecraft的创建者)博客。我相信他在那里发布了算法。您还可以查看世界生成器的.class文件,看看您可以从中获取哪些信息。或者一秒钟的选择是等待几周。整个Minecraft源代码将在modding API中发布。你可以看一下。