我无法理解如何创建程序世界。我找到了关于体素地形生成的文章,但它只是视频或图片,我找到了一些地形引擎,但我无法理解。我想一步一步地教程如何创建简单的体素对象。我想创建地形,而不是立方体地形。
1 回答
对此有两种截然不同的方法。
体素地形存储实体信息——不仅仅是地形的表面,而是整个体积。完美的例子就是 Minecraft,其中的“地形”不仅包括地表,还包括洞穴和隧道。3DCoat是一个使用体素的雕刻程序,它是一个很好的方式来查看可以用它们做什么和不可以做什么。表示任何 3d 体积的能力是体素的一大优势。
传统的地表地形只存储地表:下面没有任何东西。这个表面可以是一个多边形网格,但通常它是一个规则的 guads(4 面多边形),它是从高度图(这是一个存储高度而不是颜色的位图)中按程序生成的。多边形地形基本上只是恰好看起来像地形的常规 3d 模型;高度图地形可以更容易使用,因为它们更容易快速“雕刻”,并且可以针对诸如爆炸坑或侵蚀之类的东西进行程序修改。高度图地形程序的一个很好的例子是Unity 地形编辑器或像Vue这样的独立工具
一般来说,体素比高度图或多边形地形要贵得多——1 米分辨率下 1 公里乘 1 公里的地形包含 100 万位数据;1 公里深的 1 公里乘 1 公里的体素地形将是 10 亿个样本(!)可以通过智能编码减少(这里的热门趋势是稀疏体素八叉树),但仍然需要管理大量数据。这就是 Minecraft 必须如此块状的原因之一。
您可以通过程序或手动生成体素或高度图。 Vterrain.org是不同地形技术的绝佳资源。