体积渲染

我们向 2024.2 添加了体积渲染,让复杂的现象(如雾、灰尘、云隙光、云、烟和火)栩栩如生,从而实现令人惊叹的视觉效果。使用此功能可以更好地将三维模型集成到环境中,创建更逼真的场景,以及增强设计的情感影响。

视频字幕:我还要非常高兴地告诉大家,我们现在可以使用体积。这意味着,现在可以通过在 OpenGL 和光线跟踪中添加体积效果来提高场景的视觉质量。

例如,可以在场景中添加云。由于云是三维体积,与场景的互动比二维效果自然得多,因此看起来更加逼真。

您还可以轻松创建散射体积,它非常适合用于空气中的粒子,例如这个雾蒙蒙的场景。

或者,创建可以看到光锥的灯光效果,就像在此工作室中一样。体积在很大程度上依赖于灯光;因此,我们采用了一种新的设置,用于控制灯光应如何影响体积。

要更改体积的外观,需要更改指定的体积材质的设置。与颜色或密度类似。

首先,在使用 VDB 体积时,您可以从 Internet 下载一些免费示例,或使用 Maya、Houdini 或 EmberGen 等软件来创建效果,例如我在此处创建的喷射气流,以便在场景中与云一起使用。

但这并非全部。您还可以导入完整序列并使用动画体积效果,为场景带来更多的活力和情感。

VRED 使用体积渲染来模拟灯光与体积的交互。通过精确地计算光线如何穿过体积,您可以生成逼真的视觉特效,模拟真实世界环境中光的行为。

要在 VRED 中创建体积渲染,首先定义体积数据。这可以通过在 VRED 中导入并动态流式传输外部 OpenVDB 和 NanoVDB 栅格(请参见 创建体积 )或从头开始创建体积来完成。体素用于存储有关密度、颜色和不透明度等属性的信息,这些属性确定了灯光与体积的交互方式。

设置体积数据后,VRED 将采用体积光线跟踪,它将跟踪光线穿过体积的路径,并考虑介质内灯光的吸收、散射和发射等因素。通过此功能,VRED 可以准确地模拟灯光与体积数据交互时的行为。

这样,将生成一个视觉上极具吸引力的渲染,展示体积对象的复杂细节和逼真的照明效果。无论是阳光透过云层过滤的柔和光芒还是烟雾的动态运动,您都可以使用 VRED 的体积渲染功能创建引人入胜且栩栩如生的可视化效果。

OpenGL、CPU 光线跟踪和 GPU 光线跟踪支持体积。因此,您可以利用 Autodesk VRED 中的体积渲染来增强设计演示、虚拟样机或视觉特效,并获得令人惊叹的真实感和沉浸式体验。

注意:

在 2024.2 版中,使用 CPU 光线跟踪时,在光子跟踪模式下,体积发射当前不起作用。

使用此功能可以更好地将三维模型集成到环境中,创建更逼真的场景,以及增强设计的情感影响。

场景图形中的体积

创建散射体积

在“场景图形”中,选择“创建”>“体积”时,根据您的选择,将创建体积散射,或者加载 OpenVDB 或 NanoVDB。两者都将显示一条警告,指示 OpenGL 中的体积渲染需要深度剥离透明度。单击“启用”将执行此操作。

  • 体积散射 - 将体积散射节点 (体积散射节点图标) 添加到场景图形中,视口中将显示以下内容。

    视口中默认体积散射的图像

体积散射模拟体积内灯光的散射。使用它可创建均质和异构(噪波)大气效果,例如雾、烟或灰尘。当体积散射属性应用于体积对象 (VDB) 时,它们控制灯光与体积的交互方式,从而影响其外观和可见性,以创建光束或朦胧光线(云隙光)的逼真视觉效果。调整这些属性可以控制体积内散射灯光的密度、颜色和强度。使用它们可以控制雾的厚度或不透明度,或将雾蒙蒙的大气添加到场景中。

  • OpenVDB - 将指定的 VDBNVDB 文件导入 VRED,然后可以在 VRED 中动态流式传输该文件。将体积散射节点 (体积散射节点图标) 添加到“场景图形”中,视口中将显示以下内容。

    视口中默认 VDB 的图像

    VDB 代表“体积数据库”或“体素数据库”,用于表示体积数据。VRED 使用 VDB 表示体积数据,例如烟、火、云或其他复杂的三维结构。它们提供了一种灵活有效的方式来存储密度、温度或速度等属性,并操纵体积数据,以便创建逼真且极具视觉吸引力的效果。使用“材质编辑器”可对其进行自定义。

材质编辑器中的体积

在“材质编辑器”中,选择“创建”>“创建材质”>“体积散射”或“OpenVDB”时,将创建或加载仅可应用于体积节点的材质。体积散射材质可用于定义基本的均质或异构(使用程序噪波)体积效果。OpenVDB 材质将加载 VDB 栅格,用于对更详细的体积数据(例如烟、云或其他体积效果)进行着色和渲染。密度、散射、吸收和发射是可以自定义的属性。有关详细信息,请参见体积材质部分。

在“材质编辑器”中启用了“使用序列”时,将自动为 OpenVDB 序列生成动画曲线。有关更多详细信息,请参见 设置体积材质动画

灯光编辑器中的体积

体积依靠光源进行交互。除镭射灯光外,所有类型的灯光都兼容。对 HDR 环境使用区域灯光和采样(默认情况下处于启用状态)时,可以产生良好的结果。但是,与使用平行光、点灯光、聚光灯或球形灯光相比,此操作的计算成本可能会很高,并且通常会导致出现更多噪波。体积支持带纹理的区域灯光。

为了解决艺术和性能方面的问题,我们引入了“照亮体积”选项,该选项可用于所有类型的灯光。控制光源是否会影响场景中的体积对象。这可以提供更大的灵活性,并且可以控制照明效果。

在“灯光编辑器”中的“属性”部分找到“照亮体积”选项。使用它可确定光源是否会影响场景中的体积对象。从以下选项中选择:

  • 启用 - 有助于体积效果(例如雾、烟或其他体积材质)的照明和着色。

  • 禁用 - 关闭光线与体积数据的交互,从而在体积内不产生阴影、高光或总体照明影响。如果要隔离体积照明的效果或不希望某个特定光源影响场景中的体积材质,那么此选项非常有用。

  • - 限制灯光的照明以仅影响场景中的体积对象,从而仅影响体积效果(例如雾、烟或其他体积材质)的照明和着色。灯光的光线会忽略场景中的其他对象。此选项可以精确控制体积照明的效果,确保光源仅影响所需的体积材质,而忽略其他几何体。如果要隔离体积照明的效果并避免对场景中的其他对象产生意外影响,那么此选项非常有用。

“渲染设置”中的体积

为了在质量与性能之间取得平衡,可以分别为每种体积材质自定义步长。这样就可以进行微调并在这两个因素之间找到最佳平衡点。步长确定遍历每个体积的距离。由此,计算穿过体积的步数。大多数情况下,介于 1 和 100 之间的值就足够了。如果遍历体积所需的总步数超过在“渲染设置”>“光线跟踪”>“体积质量”中可以设置的“最大步数”,则会相应地调整步长。增加“最大步数”值可以提高质量,但也会降低性能,甚至可能会导致驱动程序崩溃。

渲染过程支持:还可以在光线跟踪中将体积渲染为单独的过程。在“渲染设置”>“渲染过程”对话框中添加了一个名为“体积颜色”的新条目。此外,还可以在三维视口中查看体积通道。要在视口中利用此功能,请确保激活 CPU 或 GPU 光线跟踪,并启用“可视化”菜单 >“渲染过程渲染”>“组合通道”/“材质通道”>“体积颜色”中的相应通道。

与体积交互

体积节点(体积散射和 OpenVDB)以及体积材质可以变换。请参见以下内容: