【问题标题】:Advanced Terrain Generation [closed]高级地形生成[关闭]
【发布时间】:2013-05-21 03:53:01
【问题描述】:

我需要生成地形。你可能会说很简单,但如果你愿意的话,我需要创建生物群系(想不出另一个名字)和湖泊、树木和所有的高度图。

所以我真的不知道如何使用高度图甚至 perlin 噪声。如果你能帮帮我。我需要 3D 和 2D 帮助。如果你能解释它背后的数学原理,真的可以帮助我永远理解这一点。

【问题讨论】:

  • 请不要在没有解释的情况下投反对票...
  • 我做到了,我已经探索了其他选项。我需要有人向我解释。
  • 聘请家教给你讲解。

标签: java lwjgl perlin-noise


【解决方案1】:

这是一个如此广泛的问题,几乎不可能回答。地形生成有很多不同的方法,也有很多方法可以实现它们。根据您的目标图形硬件和您的需求,您可以使用可编程着色器或使用旧的固定功能管道来完成。它可以在 DirectX 或 OpenGL 中实现。我假设这大致就是您正在寻找的......

http://youtu.be/lBGPupldGz0

这是通过所谓的高度图完成的。我拍了一张黑白图像,较暗的点代表低海拔,较亮的点代表高海拔。然后我将图像转换为单个颜色通道(在我的情况下为红色,我认为这与您选择的无关)。我开始制作一个三角形网格。我浏览了图像并使用 0-255 范围内的像素差异来更改“y”顶点位置。

遇到的最大问题是正确设置法线以使照明正常工作。使用高度图的另一个问题是它们不能很好地适应大地形...图像大小很快就会失控。

至于 perlin 噪声...这是一种程序技术,您可以使用 L3DT(甚至 paint.net)之类的工具将其烘焙到地图本身中,或者您可以在着色器中实时进行。问题太笼统了。

我建议您查看 gamedev.net 论坛...那里肯定有很多关于地形的开放式问题。 Stackoverflow 对于含糊的问题来说是一个糟糕的地方。查看本教程系列...它是用 XNA 编写的,但这些想法适用于任何语言...

http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series1/Terrain_from_file.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2011-05-27
    • 2014-08-26
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多