gpt4 book ai didi

c++ - 如何创建大地形/景观

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:32:36 26 4
gpt4 key购买 nike

我在徘徊如何在 opengl 中创建大地形。我的第一个想法是使用 blender 并创建一个平面, segmentation 它,创建地形并将其导出为 .obj。在查看了 Blender 之后,我认为这应该是可行的,但很快我意识到我的六核 + 8GB RAM 无法跟上 segmentation 以支持非常大的地形所需的精度。

所以我的问题是,最好的方法是什么?

  • 也许尝试使用其他 3D 渲染软件,例如 cinema4d?
  • 在 blender 中逐步创建地形并稍后将其组合在一起? (可能难以保持段之间的比例)
  • 有些方法我不知道?

我可以使用随机生成算法创建一个大型景观,但我不想要一个随机景观,我需要一个包含许多细节的定制景观。 (高度、深度、路径)

编辑

我要做的是:

  • 创建 3 个不同的高度图(1. 洞穴地面(+可能是墙壁高度的一半),2. 洞穴天花板的倒置高度图,3. 标准表面高度图)
  • 合并所有三个高度图
  • 将它们保存在 obj 文件或任何需要的格式中
  • 在 3d 编辑工具中做一些微调(如果它太大而无法处理,我将使用 LOD 算法创建一个应用程序,我可以在其中编辑一些小东西)
  • 根据需要再次保存(可能做一些优化)
  • 开心

编辑2我正在创建的 map 太大,以至于 Photoshop 占用了我所有的 8GB Ram,所以我必须将所有 3 个高度图拆分成更小的部分,并在 map 上移动时即时组装它们。

最佳答案

我相信您只想制作一张高度图。图像越大,它可以拉伸(stretch)得越远。也许如果你让接缝匹配,你可以平铺它,但如果你想要一个无尽的地形,那么生成一个地形可能是值得的。

要制作高度图,您将制作一个图像,其中每个像素代表一个设定的高度(您实际上不必将其表示为图像,但它很容易可视化)变成灰色-缩放颜色。然后,您可以将该值缩放到所需的最大高度(精度由图像的位深度决定)。

如果您想使用 OpenGL 执行此操作,您可以创建一个界面,您可以在其中单击点以提高特定点或区域的高度。

一旦你有了这张图片,渲染它就不太难了,因为 X 和 Y 坐标是为你的空间设置的,而图像会给你 Z 坐标。

这样做的缺点是不允许出现洞穴和类似的特征(因为一个点只给出了一个高度)。如果您需要这些功能,它们可能会添加网格或第二个

关于c++ - 如何创建大地形/景观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com