参考资料
风格化渲染
风格化的船舶形状是由9 to 3 Animation的Ernst Janssen Groesbeek创建的,船舶概念由Ian McQue创作,机器人概念由Ruslan Safarov创作,模型由Cheyenne Chapel, Aliya Chen, Damian Kwiatkowski, Alyssa Minko, Anthony Muscarella和Miguel Zozaya制作。
© Disney/Pixar - RenderMan “Shipshape” Art Challenge
Blender中的风格化外观
在Blender中使用风格化外观进行渲染是非常直接的,只需要几个简单的步骤。
在使用Stylized Looks进行渲染之前,请确保在你的场景中添加一个灯光,并为你的物体附加一个RenderMan材质。
- 在视口中点击右键,选择RenderMan → Stylized Looks → Stylized Looks Editor。
- 启用风格化外观,选择一个对象,然后从Attach Stylized Pattern中选择一个PxrStylizedControl。
按OK键现在将创建所需的PxrStylizedControl节点并附加到机器人模型的PxrSurface上。
PxrStylizedControl网络需要附加到场景中的每个物体上,并允许对每个物体进行单独的阴影控制。
这也可以通过选择一个物体和RenderMan→风格化外观→附加风格化图案→PxrStylizedControl来实现。
- 使用RenderMan Stylized Editor,你现在可以开始添加Stylized Filters,开始创建你独特的Stylized Look。
在这个例子中,我们将添加一个PxrStylizedHatching过滤器。
- 现在,启动IPR,你的场景现在将以风格化的外观进行渲染
注意:在这个例子中,默认的设置已经被调整过了,具体如下。
a) Signal Energy From: 反照率AOV
b) Blending Mode: 加权
c) Blend Black Darkest: 打开
d) Projection: 屏幕
e) Hatching Frequency:4
你现在已经开始使用风格化外观渲染了!
你对NPR的创意冒险已经开始了,别忘了,当你开始将各种风格化滤镜结合在一起,创造你自己的独特风格和外观时,风格化外观的力量就会出现。
风格化外观也有几个有趣的预设让你开始。 你可以在RenderMan预设浏览器中找到这些预设
照明
尽管RenderMan for Blender会翻译一些本地的Blender灯光,但强烈建议用户使用 “Pxr “灯光。
RenderMan中的灯光是灵活的,但对用户来说也是非常直接的。
RenderMan包括一套基本的内置几何灯光,形状包括 - DomeLight,DistantLight,RectLight和SphereLight(尤其是后两者)- 可以提供卓越的采样行为,与任意几何形状(即标准的几何基元,附加一个灯光Bxdf)相比。还有一个PortalLight,用于改善通过窗户和天窗等开口间接照明的室内场景的照明,以及一个日光模拟。
Light Filters也可以用来修改和引导照明,甚至有更多的控制和艺术选择。你可以找到现实世界的可能性,如Gobos和Cookies,以及连接和控制结果的高级方法,如从一盏灯中获得物体特定的强度。
请注意,由于这些优化,球形灯要求所有的比例转换都是统一的,例如,X、Y和Z的比例都必须是相同的,这样就不会把球形形状歪曲成椭圆或其他形式。
请注意,有三种主要的方法来照亮一个场景。
-
Analytic Lights - 这些是首选。它们提供了优越的内存使用率、灵活性和速度。它们的能见度是简单的开和关,以保证摄像机的能见度。
-
Mesh Lights - 这些是在照明中使用任意形状的好办法。由于它们是几何形状,复杂的形状可能会增加噪点,所以会消耗更多的内存。它们可以像其他物体一样利用可见性:摄像机,阴影/透射,和间接可见性。
-
Emissive Surfaces - 这些通常使用一个恒定的bxdf或 “发光 “参数来间接地照亮一个场景。这样做效率很低,通常应该避免,但对于在未来主义物体和面板上进行纹理映射 “光 “来说,可能是很有用的。
分析性光源类型 Analytic Light Types
-
PxrDomeLight - Domelight作为场景的环境光,通常用高动态范围图像(HDRI)进行映射。
-
PxrRectLight - 矩形灯是常用的矩形区域灯。
-
PxrDistantLight - 这种灯非常适合用作太阳光或其他远处的光源,光线几乎是平行的,并覆盖整个场景。
-
PxrDiskLight - 很适合用作区域光或与滤光片结合使用,成为一个聚光灯。
-
PxrSphereLight - 对于错过使用点光源的用户来说,这种灯可以用来照亮所有方向。
-
PxrEnvDaylight - 一个日光模拟着色器,你可以提供地球上的任何时间和地点,或者简单地将你的阳光放在你喜欢的地方。
-
PxrPortalLight - 对于困难的照明情况,如间接照明的室内,这个灯和PxrDomeLight一起使用,可以提高渲染的质量和速度。
几何灯光类型 Geometric Light Types
- PxrMeshLight - 网格光使用一块几何体并将其变成一个光源。这比使用辉光或bxdf的发射要有效得多。它很适合像霓虹灯这样的东西。
实用灯光类型 Utility Light Types
PxrAOVLight - 这是一个被识别为灯光类型的实用工具,但它不会照亮任何东西。它是一个有用的工具,可以通过灯光链接为物体创建快速遮罩。
灯光也有一些关于阴影和双向路径追踪的特殊参数,由PxrVCM和PxrUPBP集成器实现。你可以参考一下技术备忘录。
- Christophe Hery, Ryusuke Villemin, Florian Hecht. Towards Bidirectional Pathtracing at Pixar
Blender中的分析性灯光 Analytic Lights
创建灯光
RenderMan灯光可以从添加菜单中创建。
分析性灯光类型
关于参数的详细信息,请遵循每种灯光类型的链接。
-
PxrRectLight - 这是常用的矩形区域的灯光。
-
PxrCylinderLight - 这是常用的圆柱形区域光,用于模仿荧光灯和光剑。
-
PxrDiskLight - 这个圆盘很适合用作区域灯,或者与滤光片结合使用,做成聚光灯。
-
PxrDistantLight - 远处的灯光非常适合用作太阳或其他远处的光源,光线几乎平行并覆盖整个场景。
-
PxrSphereLight - 对于错过使用点光源的用户来说,这种灯可以用来照亮所有的方向。
-
PxrAovLight - 这是一个用于输出AOV遮罩的实用灯,它没有操纵器,因为它不进行照明。它在场景中的位置并不重要。
-
PxrDomeLight - 圆顶灯作为一个场景的环境光,用高动态范围图像(HDRI)进行映射,非常常见的工作流程。
-
PxrPortalLight - 对于困难的照明情况,如间接照明的室内,这个灯和PxrDomeLight一起使用,可以提高渲染的质量和速度。门户灯需要与圆顶灯相关联。 只需在outliner中把portal light对象置于dome light之下即可。
-
PxrEnvDayLight - 这是一个日光模拟着色器,你可以提供地球上的任何时间和地点,或者简单地把你的阳光放在你喜欢的地方。
Blender中的网状灯光 Mesh Lights
创建网状灯光
在Blender的RenderMan中,任何一块几何体都可以成为一个光源。 对于有高光发射的物体,一定要使用网状灯,而且对于霓虹灯来说,网状灯永远是最完美的
选择需要发光的几何体,然后点击对象上下文菜单中的转换为网格灯按钮。
在你下次渲染时,这个物体会投射出光线,并且本身有一个恒定的颜色,这个颜色来自PxrMeshLight的颜色和强度。
PxrBlack
当点击Mesh Light按钮时,一个名为PxrBlack的新材质会被分配到选区,并且一个PxrMeshLight会被创建并连接到PxrBlack材质中。
PxrBlack作为一个假材料。 它实际上并没有任何参数。
对于大多数用途来说,PxrBlack是一个合适的材质,但你也可以尝试使用其他材质,比如PxrVolume。 最简单的设置方法是先用网格光按钮。
然后,选择PxrBlack的阴影组,并在那里连接一个不同的表面或体积材料。
这样一来,区域光就已经连接到阴影组中了。
PxrMeshLight允许你创建任意的形状并将它们作为真正的光源。这比发射型几何体提高了性能,并为创建诸如霓虹灯、未来主义的光板以及照亮场景的变形形状提供了极大的灵活性。
参数很简单,容易调整。
在创建一个网格灯时,你可能会看到一个与之相连的材料,叫做PxrBlack。这个材质没有任何参数,是为了防止网状物从自己身上进行二次散射。这样做是为了提供一些直观的东西,不一定是物理的东西。
参数
颜色
发出的光的颜色。
强度
对该光线的贡献进行线性分级。光的强度是用物理衰减来计算的。
曝光
指定区域光的曝光度为2的幂。增加1的曝光度将使光源发出的能量增加一倍。值为0时,光源的强度为1,-1时为0.5。真实世界的照明有很高的能量,典型的曝光是低值,而你可能要输入一个非常大的数字来表示同等强度。这对熟悉摄影测量的艺术家来说也很舒服。
纹理颜色
使用图案节点作为光源的图像,例如PxrTexture。最好是一个高动态范围的光源。请注意,这将影响颜色和阴影,基于所使用的HDRI的内容。如果被迫使用一个8位的源,如JPEG图像,它应该被线性化(转换为线性色彩空间),然后再作为一个颜色使用。由于这确实是一个网格,你必须有定义的UV或适当的投影来正确放置你的纹理。
启用温度
打开或关闭色温。
温度
允许用户选择灯光的色温,单位是开尔文。与基本的灯光颜色不同,这允许用户根据标准的温度测量,轻松地挑选出合理的灯光颜色。这个控制将像一个过滤器或凝胶(一个有色的透明表面)一样在你的灯光前面发挥作用。如果你的灯是白色的,你将得到选择的色温。如果你的灯是彩色的,色温将使它偏冷(超过6500K)或偏暖(低于6500K)。
细化
镜面光量
发出的镜面光的数量。这是一个非物理性的控制。你可以使用一个镜面光量为0.0的灯光来纯粹作为你的场景对象的漫射光源,避免增加高光。
漫反射量
发出的漫反射光的数量。这是一个非物理性的控制。你可以使用漫反射量为0.0的灯光来作为你的场景对象的高光源。
高级
区域归一化
启用归一化时,贡献给场景的光量将不会随着你对光源的缩放而改变。这使得在不改变场景照明的情况下更容易调整高光尺寸。
追踪光路
启用该光源的光和光子追踪。这个值强制执行基于物理的灯光,并作为一个副作用禁用上述阴影控制。用户在使用PxrVCM或PxrUPBP集成器时,可以使用此功能有选择地决定哪些灯光会发出光子。
稀疏的阴影Thin Shadow
启用薄影,并禁用该灯的折射苛化。如果启用了 “追踪光路”,该参数将被忽略。这是一个非物理控制,可以为透射物体创建 “假的 “彩色阴影,而不需要产生光子进行苛化。
固定采样次数
覆盖该光源的取样数量。它将覆盖由积分器执行的采样。除非您遇到无法解决的光源噪音,否则建议将此设置为默认值。
灯组
指定用于灯组LPE的灯组名称。这对生成每个光的AOV很有用,以便以后在合成中调整。
重要性倍增器
用户可以通过改变这个值来改变灯光内部分配的样本量,而不是设置明确的灯光样本。RenderMan在渲染时为场景中的所有灯光创建了一组样本,改变这个值可以重新平衡各灯光的样本。请注意,增加这个值会导致更多的样本被从这个灯光中选择出来,而对场景中的其他灯光则会减少。低于默认值会减少样本,而为场景中的其他灯提供更多的样本。
Blender中的滤光器 Light Filters
滤光器是用来操纵照明结果的。在现实世界中,这通常是通过使用模板和凝胶来实现的,以改变一个镜头中的颜色、质量和光量。RenderMan的滤光器是一种强大而灵活的方式,可以在你的场景中进行同样的照明(甚至更多)。
创建滤光片
要为一盏灯添加滤光片,首先从 “添加 “菜单中创建一个滤光片。
接下来,选择你想做滤光片的灯光,然后看一下对象的属性面板。你应该看到一个灯光过滤器面板。
点击 “+“来添加一个新条目,然后选择你想链接到哪个滤光器对象。
快捷方式
你也可以使用对象上下文菜单中的快捷方式。选择你要过滤的灯光,然后从附加新灯光过滤器菜单中选择你要添加的灯光过滤器。新的滤光器将自动被添加到滤光器列表中。