Cinema 4D* 中令人惊叹的体积效果第 1 部分:可见光的魔力

在 3D 数字艺术中打造云、雾和星云

云、雾、星云、火状结构等体积效果是 3D 美术师日常工作中的常见任务。借助 Turbulence FD* 或 X-Particles* 等当代第三方插件进行流体或粒子模拟,通常可以实施 Cinema 4D* 的技术方法。此外,Cinema 4D* 仍然采用老旧的基于体素的 PyroCluster* 系统,它是以前用于实现各种体积效果的标准工具。

除了上面提到的这些,还有其他更简单直接,但您一开始可能想不到的技巧:仅使用板载工具(而非上面提到的这些)。由于比较复杂,我们分成两部分来介绍。第 1 部分:可见光的魔力,主要介绍如何创建云、雾和星云,第 2 部分:喷发状等离子体云和块状云,介绍太阳耀斑和浮云

薄薄的云层和雾 — 带内置噪声的可见体积光

打造基本大气效果最简单直接的方法是将 Cinema 4D 的内置光源用作实际的云或雾场。借助打造“雾状”可见光的光源选项和部分内置噪声功能,您可以创建随风飘扬的、薄薄的、非阴影投射云或雾场。但在详细介绍之前,我们首先介绍关于 Cinema 4D 中光源的重要基础知识。在 Cinema 4D 中创建光效时,相应的属性管理器将显示一组参数和选项卡(见图 1)以进行自定义。

Light Object Attribute Manager
图 1光对象属性管理器。

“常规”选项卡,下拉菜单“类型”,提供多种不同类型的光源。

注: 光发射的几何形状将决定可见光/体积光的形状。

  • Omni:同心光发射
  • Spot:锥形光发射
  • Infinite:来自无限远点的平行光发射
  • Area:基于样本的空间光发射,呈现实际的几何形状
  • Square spot:金字塔形光发射/li>
  • Parallel:平行光发射
  • Parallel spot:平行圆柱形光发射
  • Square parallel spot:平行立方体光发射
  • IES:模拟特定于制造商、带有光强度的光照系统行为

阴影

“阴影”提供三种类型的阴影生成选择:

  • 阴影贴图(柔):从光源的角度创建“阴影纹理”,可选择分辨率、模糊半径和接近偏差。
  • 光线追踪(硬):从光源的角度创建无限硬阴影,这是迄今为止最古老、最不切实际的阴影类型。
  • 区域:唯一一种可根据阴影投射对象变得更清晰或更分散的阴影。可与区域光和无限光组合使用。

创建薄云或雾场时,不必使用阴影,因为可见结构来自光源本身。不过,创建较厚的浮云时,可使用区域阴影,我们将在第 2 部分进行讨论。

可见光

可见光包含三种模式来选择模拟薄云、星云或雾气,以达到实际效果:

  • Visible:即使激活“阴影”类型,可见光中的对象也不投射体积阴影
  • Volumetric:即使不激活“阴影”类型,可见光中的对象也会投射体积阴影
  • Inverse volumetric:可见光仅在对象的体积阴影中生成

“可见性”选项卡

“可见性”选项卡参考“常规”选项卡中的“可见光”下拉菜单,并提供多个参数,用于定义沿光源轴或半径的可见光衰减量:

  • Edge Falloff:降低沿半径的可见性(例如 Parallel Spot 的可见性)
  • Inner Distance/ Outer Distance:定义可见光同心衰减的起点和终点(例如 Omni Light 的可见性)

这些“衰减”参数与“细节”选项卡中光的强度“衰减”之间相互独立 — 但编辑器中这些参数的句柄容易相互混淆。

“亮度”控制可见光的强度。“灰尘”在低亮度值下为可见光添加黑色成分,以产生覆盖尘雾的效果。相对比例支持您在独立于实际形状的情况下不成比例地挤压和拉伸可见光。

如果选中“常规”选项卡/“可见光”下拉菜单中的“体积”选项,可见光中的对象将投射体积阴影 — 即使未针对光源激活阴影类型。

基于样本的体积

这种体积效果的分辨率取决于“样本距离”参数;参数值必须降低,以增加样本数量。

注: 高值(低样本距离)会加快渲染速度,但可能会导致块状云伪影。为了顺利实现目标,需要较低的样本距离,这样可能会降低渲染速度,请参见图 2,查看高样本距离和低样本距离示例。

On Left - High Sample Distance
On Right - Low Sample Distance

图 2.左 — 高样本距离,右 — 低样本距离。

如果结合体积光和复杂场景设置(复杂对象、雇用纹理、强抗锯齿),速度将非常慢。始终“在黑色上”单独渲染体积光,然后在合成期间将其与场景结合。

激活并调整这些参数后,开始创建效果,比如搜索斑点、晕圈等。使用“噪声”选项卡可以定义更具体、不规则的结构,以创建云和星云效果。

“噪声”选项卡

“噪声”选项卡参考“可见光”(如果选中),并在可见光和光照两方面为其添加随机不规则性。可用的噪声功能包括:

  • NoiseSoft 湍流
  • 硬湍流
  • 波浪湍流

噪声可以在“八度”(迭代次数和细节)、“亮度”“大小”“对比度”方面进行调整。运动可通过“速度”(空转)、“风”(匀速运动方向)和“风俗”(速度)参数来进行调整。

“本地”复选框决定是使用全局噪声还是局部噪声。如果取消激活复选框,移动光源将穿过全局噪声。如果激活(默认情况下),移动光源将带有噪声结构。“可见性比例”定义噪声本身的大小。

注:由于带噪声的可见光源是 Cinema 4D 一项比较旧、需要更新的特性,因此这四种“噪声”与板载噪声着色器无直接关系。

案例研究 – 美国航空公司 1549 航班水上迫降

Ditching of US Airways Flight 1549
视频:ZDF Leschs Kosmos - Albtraum Fliegen

德国电视纪录片 “Leschs Kosmos”,ZDF 频道的“飞行梦魇”一集分析了航空的隐患。前景中薄层湍流云的 Omni Lights 用在美国航空公司 1549 航班在哈德逊河紧急迫降时的一组镜头中。

Omni Lights 设为Visible,但未设为 VolumetricIllumination 复选框取消激活,防止云发光。Omnis 被“可见光”选项卡中的“相对比例”参数略微展平。在“噪声”选项卡中,“硬湍流”应用了强负“亮度”和强正“对比度”,如图 3 所示。

Screenshot of parameters set
图 3.用于创建前景中薄层湍流云的参数设置截图。

更多关于制作本集电视纪录片的详细信息,请访问Siggraph 2015 Rewind - Marc Potocnik: 纪录片 VFX 制作中的 C4D R17

Casesty Steigenkogel

这个私人项目以 2018 年春季为英特尔创建的 Mountainvista 性能指标评测场景为基础。从岩石、卵石、根茎和泥土到山谷和山脉,景观的创建完全程序化。远处大雾场的制作采用与上述相同的简单技术:仅包含“可见”光的大平 Omni Lights 和硬湍流噪声。

总结如何创建包含内置噪声的体积光

仅借助 Omni Lights、可见光和部分高对比度噪声功能,您就可以创建薄薄的非阴影投射云或雾场。这种简单的技巧使用起来绝对轻松,而且完全可以在需要时随时上手使用。

该方法的局限性在于它仅使用四种基本噪声,无法着色或与更方便的 Cinema 4D 着色器结合使用。在下一节中,Stellar Nebulae 将介绍如何借助另一种方法摆脱这些限制。

恒星星云 - 可见体积光用作体积着色器的容器

打造体积效果的更高级方法以纹理光原理为基础:您可以在光源上轻松应用任意材质。如果主动透明度通道包含比如 3D 噪声着色器,光源的体积效果可使用着色器实现三维体积纹理化。

这样您的光源将成为任意着色器的“水族箱”,可在材质透明度通道中使用。只要记住这一点,就能很轻松地创建更复杂的结构,比如气场或恒星星云。

纹理标记中的纹理投影方法只起很小的作用,只要您使用三维着色器,比如用于对象或世界空间或 3D 梯度中的噪声着色器,您不必在意它。

示例

图 4 左侧,2D 图块着色器应用于体积 Parallel Spot (选项卡“可见性”中无边缘衰减)和平面纹理投影。图 4 右侧,3D 噪声着色器应用于 Parallel Spot。平面纹理投影没有效果,因为噪声以三维的形式运行(相关信息请参阅下节的“对象空间”)。

On Left – 2D Tile Shader
On Right – 3D Noise Shader

 

图 4.左侧 — 2D 图块着色器,右侧 — 3D 噪声着色器。

本文第一种方法的一个主要局限性是严格使用仅四种内置噪声功能。要在 Cinema 4D 中使用较复杂的噪声着色器,例如体积光的 3D 纹理,首先必须熟悉噪声着色器的基础知识。

噪声着色器 – 系统随机性

云、岩石、水面等自然现象包含行为和复杂性各不不同的随机结构。在电脑图像中,噪声着色器可模拟这些自然结构。噪声可以使表面具有随机但可重复的不规则性,从而让表面看起来更加类似、更加自然。

噪声实际上可用于调整所有材质效果。与传统纹理映射相比,噪声可提供以三维形式应用于对象的关键优势,从而无需解决关于准确纹理投影或 UVW 映射的所有问题。

美国数学家 Ken Perlin 率先致力于开发噪声着色器。1981 年,他是纽约 Elmsford MAGI 的一名员工,参与开发了迪士尼* 经典 TRON。率先致力于噪声着色器的开发后,Perlin 希望让生成的对象看起来更加自然。1985 年,Perlin 写了一篇关于 Perlin-Noise 的 SIGGRAPH 论文,1997 年,Perlin 凭借自己的成就荣获了奥斯卡奖。

完成进一步开发工作后,包括1996 年 Steven Worley 的 Cell-/Voronoi-Noise,1998 年,Cinema 4D 版本 R5 成功集成了各种噪声着色器。2001 年起,作为着色器插件的一部分,David Farmer 开发的 Smells Like Almonds (SLA) 和二十多种复杂的噪声着色器开始上市,这些产品的名称极具异域特色,比如 Poxo、Luka、Sema 或 Pezo。自 Cinema 4D 7.2 版上市以来,它们已成为 Cinema 4D 不可或缺的一部分,而且一直是板载功能。

使用 Cinema 4D 的经典“材质”系统,噪声着色器可用作“通道着色器”,并位于“噪声”下方“材质编辑器”的着色器下拉菜单中。在最新的 Cinema 4D 版本 20 中,噪声着色器也可用作全新节点型材质系统的“节点”。它们位于“节点编辑器素材管理器”中“噪声”的下方。由于本文所介绍的项目采用 Cinema 4D R19 制作而成,因此我们重点关注“通道着色器”版本。

Poxo、Sema、Stupl 和 Co – 噪声家族

Cinema 4D 的噪声着色器具有非常独特的特性,注定用于不同的目的。例如:

  • 作为默认选项,噪声与 Perlin 梯度噪声非常类似:所有组件的大小和亮度相同,波动用软梯度表示。高八度(例如算数迭代)不可用。它的高八度同级湍流可用于创建稀薄的浮云。

     

    Noise ZDF Terra X
    视频:ZDF Terra X Planet der Wälder,1 分 45 秒

  • Poxo 更清晰地显示不规则结构,并通过自全局 "1000%" 起的大缩放比例发挥自身的优势,创建被称为“泡沫”或“湍流云”的网状结构。高八度会导致细节的添加,同时燃烧明亮区域。

     

    Poxo ZDF Terra X
    视频:ZDF Terra X Schottland - Mythos der Highlands,1 分 48 秒,前景

  • Luka 的湍流细节让人想起山脊与河床,能够为精致的薄云奠定良好的基础。

     

    Luka Steigenkogel
    视频: Steigenkogel,天空对象上的纹理

  • Naki 则具备类似斑点的湍流性能和不成比例的应变,非常适合描绘能量结构或喷发状态下的等离子体,或者不断变化的日冕。

     

    Naki  ZDF Terra X
    视频:ZDF Terra X Eine Frage der Zeit

噪声着色器可能相互独立,但它们之间有着密切的联系:“噪声” 看起来像只有一个八度的湍流,湍流FBM 像一母同胞,它们的模糊版本,比如波浪湍流等,像是如图 5 所示的兄弟姐妹。它们之所以如此相似,是因为:Cinema 4D 中的所有噪声都是 Perlin 和 Voronoi 噪声的后代。

Example of the different turbulence noises
图 5.不同湍流噪声的相似性示例。

关于噪声的选择和特征,Cinema 4D 的“帮助”部分提供完整的大幅面概览图像。关于着色器的其他介绍,请参阅之前的Cinema 4D 噪声纹理参考

噪声着色器的用法

无论是将噪声着色器用作通道着色器还是节点,噪声都遵循一个主要功能,并包含几个重要的通用参数:通过下拉菜单“噪声”选择噪声类型。Octaves 参数表示计算迭代,接下来是“大小”“动画速度”和灰度(裁剪、亮度等)参数。

噪声可用于各种参考系统。通过下拉菜单 Space选择不同的参考系统。其中四个参考系统具有重要的实际意义:

  • UV (2D):将噪声投影到纹理的 UV 坐标上,并考虑对象的变形
  • Texture(纹理):使用纹理标记中特定的坐标,忽略对象的变形
  • Object(对象):对物体的轴系进行三维噪声处理,考虑对象的旋转、运动和缩放
  • World(世界):对世界的轴系进行三维噪声处理,使噪声保持在原位,忽略对象的旋转、运动和缩放

在体积效果的创建方面,空间“对象”是最有趣的,因为在这种情况下,噪声以三维的形式通过对象的体积 — 或可见体积光源的体积。

为了创建更复杂的体积结构,必须能够在同一个“材质”通道内组合、分层和屏蔽不同的着色器。为此,Cinema 4D 着色器工具集包含图层着色器。

图层着色器

如果要以模块化的方式灵活组合 Cinema 4D 着色器,图层着色器是关键。它相当于一种“容器”,其中不同图层(着色器或位图)以 Adobe Photoshop* 风格混合、被其他图层屏蔽,或在不同的图层模式下使用。图层模式包括通用模式,比如NormalMultiplyScreen,也包含 Layer Mask 模式。在这种图层模式下,上面的图层(比如着色器或位图)被下面图层的灰度屏蔽。

在图层着色器中,可以点击“图像”加载位图。单击“着色器”创建着色器。右击图层,还可以复制(复制着色器/图像)粘贴(插入着色器/图像)位图和着色器。

为了便于整理,可以使用“文件夹”创建文件夹,并将图层放入该文件夹中。此外,还可以通过“效果”按钮,对下面的图层进行比如“着色”、“失真”、“梯度矫正”等操作。

提示

如果在材质通道中加载着色器/位图,然后(通过单击“纹理”右侧的三角形按钮)创建图层着色器,纹理将以图层的形式自动包含在图层着色器中。

屏蔽是图层着色器的一个重要主题,因为它可以将着色器设置的某些方面限制在光体积的特定区域。

梯度着色器

梯度着色器创建(表面上的) 2D 梯度或(穿过对象或光体积的) 3D 梯度。2D 梯度可沿 U 或 V 纹理轴线性运行,或呈现一定的形状,比如圆形、方形或星形。它们能以一定的角度旋转,因湍流或频率被破坏并产生动画不规则性,也能通过停止循环应用于纹理块之外的区域。

3D 梯度可以穿透对象的体积或体积光源。3D 梯度的开始和结束值是指空间下拉菜单(比如对象或世界)中所选择的轴系。不同轴上的开始和结束值可用于线性、圆柱形 3D 梯度等角度。3D 梯度是在图层着色器中屏蔽 3D 噪声着色器的理想伴侣。

示例

在下图 6 左侧,三维 Sema-Noise 完全取决于 Parallel Spot(半径 100 厘米)的边缘。在图 6 右侧,3D Cylindrical 模式下的梯度可用作图层掩模。梯度可施加在沿光源 Z 轴半径为 150 厘米的范围,而且使用大规模湍流。所有这些都会破坏 3D 噪声的边缘,并产生部分不规则性。

On Left - 3D Sema-Noise
On Right - 3D cylindrical gradient

图 6.左侧 - 3D Sema-Noise,右侧 - 3D 圆柱形梯度。

案例研究:时间问题(恒星星云)

德国 ZDF 频道的德国电视纪录片“Terra X”项目展示了恒星核聚变、盐结构和铀铅测定原理。在关于氢和氦原子的序列中,恒星星云恰好应用了上述原理:体积光源用作光容器。

Stellar Nebulae
视频:ZDF Terra X Eine Frage der Zeit

当摄像机线性穿过平行光斑的可见体积光时,硬湍流噪声大致塑造了光的大比例结构。将名为“星云”的材质应用于光源,并将可见性设为 8000%,以描绘较暗的噪声细节。该材质仅包含一个主动透明度通道,其中包含一个图层着色器。

Screenshot displaying settings
图 7.显示创建星云的设置截图。

在图层着色器内部,3D 噪声和 3D 梯度在与恒星星云逻辑结构相关的文件夹中进行整理和安排:巨型结构、中等结构、薄雾、蓝色等等。文件夹被视为普通图层,在图层屏蔽模式下被噪声或梯度所屏蔽。

Screenshot of parameters to set to create nebulae
图 8.为创建星云所设置的参数截图。

单击文件夹旁边的小三角可以显示器内容:不同风格和行为的噪声由相同名称的图层效果进行着色,并通过 3D 梯度限制/屏蔽在光源的某些区域。为了便于理解,所有图层都有相应的名称。

Screenshot displaying the named folders
图 9.显示图层着色器设置中已命名文件夹截图。

此外,该场景包含一个环境对象,它沿着摄像机的 Z 轴添加简单但效果明显的黑雾。这样能够消除远处多余的视觉细节,否则会分散眼睛的注意力。

结论

本文介绍了使用可见体积光打造云或复杂星云效果的两种方法。本系列的下一篇文章《Cinema 4D* 中令人惊叹的体积效果第 2 部分:喷发状等离子体云和块状云》将介绍如何创建动画日冕和阴影投射浮云

关于 Marc 及其工作的更多详细信息,请访问英特尔® 开发人员专区(英特尔® DZ),包括Mountain vistaSIGGRAPH 2018,并使用 Cinema 4D Mountainvista 场景工作负载对比 3D 渲染性能。另外,了解 SIGGRAPH 2018 期间推出的 Cinema 4D 版本 20。请访问英特尔® GameDev 计划,获取最新信息和资源,以帮助您更好地开发游戏。

资料来源

英特尔® 酷睿™ i9-7980 XE 至尊版处理器

Cinema 4D

关于作者

Marc Potocnik英特尔® 软件创新者 Marc Potocnik 是德国设计师兼动画工作室 renderbaron (www.renderbaron.de) 的创始人。renderbaron 专门为高端公司,包括 ZDF、奥迪、西门子、宝马等,打造高质量 3D 动画和视觉效果。

Marc 1997 年在杜塞尔多夫应用科学大学学习通信设计,并借助 Cinema 4D R4 进入 3D 领域。2001 年,Marc 创立了 renderbaron,凭借 Cinema 4D 成为阴影、光照和渲染领域的权威。

Marc 担任 Maxon* 首席讲师,并编写了 Maxon QuickStart 培训:着色、光照和渲染。他还经常在世界各地召开的会议(SIGGRAPH、IBC 和 FMX)上分享知识。请登录 Facebook* 关注 renderbaron 项目。

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.