【问题标题】:Unity3d Understand Voxel terrainUnity3d 理解体素地形
【发布时间】:2013-06-14 06:14:02
【问题描述】:

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

【问题讨论】:

  • 术语“简单体素对象”似乎有点矛盾;-) 严肃地说,听起来你不想要体素对象(如果你只想创建地形)。如果你想为一块瑞士奶酪或死星内部的隧道建模,你会使用体素。

标签: unity3d voxel


【解决方案1】:

对此有两种截然不同的方法。

体素地形存储实体信息 - 不仅是地形表面,而是整个体积。完美的例子就是 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 是一个很好的资源,可以用于不同的地形技术。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2020-01-02
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多