本系列教程终于临近结束,这将是最后一部分。
最后一章第一小节,介绍一下阿诺德参数标签以及如何渲染粒子。
Arnold Parameters Tag
Arnold Parameters Tag(阿诺德参数标签)在之前的教程中讲过很多了,这里再系统的串一下,作为补充;
阿诺德参数标签的基础是“底层对象”,说人话就是其各项参数是不固定的,以底层对象为基础进行动态变换;
比如将标签添加到多边形对象,参数显示的就是多边形的相关参数;添加到灯光,显示的是灯光的相关参数;
如果没有看到任何参数,则表示C4DtoA不支持该对象;
简单粗暴的解释:Arnold Parameters Tag是将C4D对象“升华”成Arnold node,没错,就是Arnold Network Editor里面的节点们。所以Arnold Parameters Tag的参数跟节点参数是相通的~
使用方法前面都讲过了,选中一个对象>右键>C4DtoA Tags>Arnold Parameters,上面说的这个“底层对象”就是被选中的那一只;
这里的示例参数,是一个多边形对象的阿诺德标记参数,仅此说明;
接下来根据参数面板分组依次讲解。
Tag
Show custom parameters
强制显示参数,用于当选中的C4D对象“未进行Arnold note化”的时候;
例如,C4D当中对象不能直接编组,要利用Null(空对象),当Null未转为Arnold node的时候,添加Arnold Parameters Tag后参数会显示为禁用状态,启用Show custom parameters,即可转为可用状态;
注意,Null添加标签后,如果其子对象没有自己专有标签,则都会使用Null的标签设置;如果子对象拥有自己的标签,则会优先使用,子级标签会覆盖父级标签;Arnold node type
定义阿诺德参数标签对象类型,会自动识别对象类型,当然也支持手动选择;User options
支持自定义各类参数,比如定义对象ID等;
功能很强大,但是需要一定的编码知识,利用这个选项可以访问很多隐藏参数,甚至可以自定义各项参数属性等(对于设计师来说太深奥了,此处省略一万字);
前面讲过一个简单用法:Object ID
Export user id
如果启用,那么给定的id将作为数据类型为integer、名为user_id的用户参数导出到Arnold node,然后id可以通过user_data_int着色器在着色器网络中读取。User id
定义Export user id;
Main
这些参数前面教程几乎都讲过,此处就不再演示,简单快速串一下;
Primary visibility
控制对象在摄像机中是否可见,即使取消勾选,对摄像机虽然不可见但对场景的影响(折射、反射等)依然存在;Casts shadows
控制对象是否会在其他物体上产生投影;Diffuse reflection
控制漫反射是否可见;Diffuse transmission
控制漫透射是否可见;Specular reflection
控制镜面反射是否可见;Specular transmission
控制镜面投射是否可见;Double sided
定义对象是否为双面(正面背面均可见,类似于之前);Invert normals
翻转法线,也可以直接使用C4D的翻转法线功能;Self shadows
控制对象是否会在自身产生阴影;Receive shadows
是否接收别的对象产生的阴影;Opaque
这个前面讲过无数次了,用来定义对象是否具有透明度;Matte
遮罩,启用后可以将对象从alpha通道里抠出来,同样的该对象对场景的影响依然存在;Trace set
排除或包含,详见:Arnold for C4D 11 【材质(五)】Ray switch/AO/Wireframe-
SSS Set Name
可以将两个SSS对象作为一个整体处理,比如相交的两个SSS球体,交界处会有明显的边界,使用该参数可以模糊这种边界,自需要给两个SSS对象添加同样的SSS Set Name即可,具体请看👇
上图太大压缩了,效果看不太清楚,大家自己试试吧~
Subdivision&Displacement
详见:Arnold for C4D 08【材质(二)】Bump/Normal map/Subdivision/Displacement mapping
Export
导出Vertex map(顶点贴图);
可以使用C4D设置顶点权重功能生成顶点贴图标签,Export vertex maps:select,将顶点贴图标签拖拽到Vertex maps当中即可(大图预警):
Motion blur
定义一个对象是否能产生运动模糊;
Enable
定义一个对象是否能够产生运动模糊;Use motion vector
启用后将使用Vertex map的速度向量定义运动模糊,可以对XYZ三个轴分别定义;Find maps
指定Vertex map使用链接还是名称;Unit
指定速度被解释为“每帧”还是“每秒”;Scale
控制时间缩放效果;
Motion bulr工作流程示范:
- 在这个例子中,使用从具有速度点顶点数据的Real Flow导出的场景。 在C4DtoA中,可以使用运动矢量将运动模糊设置应用于流体;
-
选中Vertex Map标签,在视窗中可以查看对应的部分(红色);
添加Arnold Parameters标签并打开Motion blur面板;拖拽Vertex Map标签到相应向量轴:
-
提高Scale的值,夸大模糊效果:
-
独立渲染每个向量结果:
Particles
接下来看一下如何使用阿诺德渲染Particles(粒子)。
粒子系统是一种常用的技术,它使用大量的子画面或小的移动物体来模拟模糊现象,如流体,火,灰尘,云或烟;
可使用C4DtoA渲染C4D的原生粒子系统,还支持第三方X-Particles插件;
如果直接将多边形作为粒子发射器的子对象,某些情况就不需要使用阿诺德标签了;
但是如果这个子对象很多很多(毕竟粒子出现的地方就是一片一堆的出现),你可能会想到使用C4D的实例对象(Instance),但是不好意思,阿诺德胳膊肘从不往外拐,当然还是使用阿诺德预设图形更快;
-
默认情况下,粒子系统被呈现为点,默认情况下IPR无法渲染,需要给发射器添加一个Arnold Parameters Tag:
标签添加后默认粒子会渲染为球体;使用Render points as可以将粒子外形设置为点、四边形或自定义形状;当选择Custom时,可以自定义形状,新建多边形对象,拖拽到Custom shapes当中即可;
如果定义了多个形状,可以使用Shape mode指定出场顺序,可用模式:
【sequential】:使用Custom shapes中的顺序;
【random】:使用Random seed自由排列;
【blend】:已相等的数量划分形状;
【first】:仅使用第一个形状;Radius multiplier定义粒子大小;
Min pixel width定义粒子的最小像素宽度,当粒子小于定义的最小像素宽度,阿诺德会自动忽略该粒子;
如果此值不为零,则屏幕宽度较小的点模式下的粒子将自动放大,以使它们至少达到指定的像素大小,然后在粒子着色器中使用放大比例的方式来调整不透明度,使得粒子的可见厚度保持不变;
对于给定数量的AA采样,这使得对非常小的粒子进行抗锯齿更容易,这是以渲染时间为代价的(因为额外的透明度/深度复杂性);
建议值在0.2~0.7的范围内, 接近0的值渲染速度更快,但需要更多的AA采样;
如果场景已经使用了非常高的AA设置,Min pixel width应该使用低值,如0.1;
下面两个参数用于Standard Volume Shader。
-
Volume step size
体积步长尺寸,使用此参数时,粒子将以体积模式渲染,该值表示沿着给定光线的相邻体积着色器采样之间的平均距离,使用世界空间(word space)单位;
低步长将增加渲染时间。 例如,当步长为0.1且世界空间中的体积为10个单位时,大约有100个基本采样,因此体积着色器将调用100次; -
Volume padding
通过填充边框放大体积;
当使用噪点替换体积时,该参数将十分有用;
启用速度运动模糊时,将根据速度的最大值计算一些额外填充,并应用速度填充和用户填充的最大值。 当填充超出边界框最大尺寸时,光线范围加速没有意义并且被禁用,因此应该尽可能紧密地设置填充;
注意:
当Radius multiplier不是1.0时,对象生成器不能作为发射器中的子对象正确呈现;
SSS材质不能使用内置的渲染模式(点、球、四轴)渲染粒子,解决方法是使用自定义形状。
Arnold Mesh Particles Tag
!密集恐惧症预警!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
仁至义尽(手动微笑)
Arnold Mesh Particles的作用“粒子化”,可以添加给普通多边形和对象生成器(例如C4D的克隆);
当对象被赋予该标签时,多边形网格将不被渲染,只有顶点被转换为“粒子”;
每个正常粒子系统的设置都是可用的,参数面板跟前一小节一样,就要不再重复;
注意,该参数面板中没有Tag面板;
用起来很简单,下面举个栗子就很清楚了:
在场景中新建一个圆环并C掉;
给该对象添加Arnold Mesh Particles Tag:选中该对象>右键>Plugins>C4DtoA Tags>Arnold Mesh Particles
-
调整粒子大小后,大概长这样:
也可以设置粒子形状、赋予材质等;
-
也可以渲染某些面;
选中该对象的某些面>选择>设置选集>将选集标签拖拽到Arnold Mesh Particles属性面板Selection参数中:
很简单,不多废话了。
还可以使用TP Ground来实现粒子,需要结合C4D的XPresso标签使用;
C4D原生粒子生成器很不好用,主流的粒子插件是X-Particle,粒子到这里就不再展开讲解,粒子能自己撑起一套教程,有缘江湖再见(手动抱拳)!
以上,Good luck💗
Reference:
1.Solidangle Support & Documentation
禁止私自转载,转载需征得老夫同意。
否则,必追究。
下集预告:Arnold Procedural/ASS Export