Unity3d了解Voxel地形

时间:2013-06-14 06:14:03

标签: unity3d voxel

我无法理解如何创建程序世界。我找到了关于体素地形生成的文章,但它只是视频或图片,我找到了一些地形引擎,但我无法理解。我想一步一步地教导如何创建简单的体素对象。我想创建地形,但不是创建立方体地形。

1 个答案:

答案 0 :(得分:4)

有两种截然不同的方法。

体素地形存储可靠信息 - 不仅仅是地形表面而是整个体积。这方面的完美例子是Minecraft,其中“地形”不仅包括表面,还包括洞穴和隧道。 3DCoat是一个使用体素的雕刻程序,它是一种很好的方式来查看它们可以做什么和不能做什么。表示任何3d体积的能力是体素的最大优势。

传统的 surface 地形只存储表面:下面没有任何内容。这个表面可以是多边形网格,但大多数情况下它是一个常规的guads(4面多边形),它是从高度图(这是一个存储高度而不是颜色的位图)程序生成的。多边形地形基本上只是普通的3D模型,看起来像地形;高度图地形可以更容易使用,因为它们更容易快速“雕刻”,并且可以针对诸如爆炸坑或侵蚀之类的程序进行程序修改。高度图地形程序的一个很好的例子是Unity terrain editor或像Vue这样的独立工具

一般来说,体素比高度图或多边形地形贵得多 - 1米宽1公里的地形,1米分辨率,包括100万比特的数据;一个1公里乘1公里的体素地形,深度为1公里,将是10亿个样本(!)可以减少为智能编码(这里的热门趋势是sparse voxel octrees),但它仍然需要管理大量数据。这就是Minecraft必须如此僵局的原因之一。

您可以手动或手动生成体素或身高图。 Vterrain.org是处理地形的不同技术的绝佳资源。