Skip to content

体积定义


云。烟。火。大气。灰尘。体积用于在像 OctaneRender® 这样的 3D 引擎中创建这些效果。体积本质上描述了一个具有各种特性的盒子,可用于着色三维结果,该结果可以与 3D 场景的其他元素交互。体积可以发光、投射和接收阴影、遮挡可见性等。体积可以使用分配给 3D 体积的简单噪波创建,或体积内的对象创建,或从模拟或模拟引擎(如 Turbulence、X Particles 或 Embergen)衍生,以创建火、烟和其他大气效果。您可以使用体积来营造氛围、神秘感、悬念,甚至是通过云层照射的光线。

体积渲染,即可视化这些体积的过程,最初是为医学和科学成像开发的。在过去 20 年左右的时间里,体积模拟和渲染方面取得了许多改进,特别是在 GPU 体积模拟的近实时性能方面。

体积模拟可以通过 Sony Pictures Imageworks 开发的 OpenVDB 格式从各种来源获得。Octane 支持此格式,使用体积介质,您可以调整您想要的确切外观。以下部分更详细地讨论该过程。

体积渲染定义

体积渲染是将体积数据转换和着色为可查看的 2D 图像的过程。体积是立方元素的三维数组,每个元素代表一个空间单位。三维空间的单个元素称为体积元素或 体素,在概念上类似于图像或显示屏中的像素。每个体素是体积的量子单位,具有与其关联的数值(或多个值),表示真实对象或现象的某些可测量属性或独立变量。

这些值的集合称为标量场。体积宽度中具有给定标量值的点集称为等值面。体积渲染是显示标量场的过程。它是一种可视化三维数据集的方法。数据集内部的信息沿着从每个屏幕的光线路径进行评估,检查并编码以显示。数据如何编码以显示取决于应用程序。例如,地震数据被评估以找到沿每条光线的最大值和最小值。然后可以将值进行颜色编码,映射到有关区间宽度和最小值的信息。在医学应用中,组织层和骨层的数据值是 0 到 1 范围内的不透明度因子,骨层完全不透明,而组织是半透明的。在其他应用中,体素可以表示各种物理特性,例如密度、温度、速度或压力。其他测量值,例如面积和体积,可以从体积数据集中提取。

VDB/Open VDB

VDB(体积数据库)是一种通用体积格式,用于创建烟雾、雾、蒸汽和类似气体对象的效果。VDB 通常从其他 3D 软件包(如 Embergen 和 Houdini)生成和导出。在 www.openvdb.org/download 上也有许多 VDB 文件可供下载。VDB 可以包含单个帧或动画文件序列。

有关 OpenVDB 的更多信息,请参阅 http://www.openvdb.org

吸收和散射的重要性

在基本层面上,所有体积效果至少使用吸收和散射的组合(对于火焰效果,发射将是必需的)。正如您在下面看到的,HDR 被放置为带有 VDB 云的场景背景,它也被用作照明模型。还添加了 Octane Daylight 以增强太阳效果。如您所见,散射和吸收几乎处于最大水平。这是由于密度设置和步长设置。这种质量的云将吸收最少的光,散射已扩散到整个云。您可以在体积效果部分找到此 VDB 云教程。

OctaneRender® 和 OTOY® 是 OTOY Inc. 的注册商标