使用mPath渲染
mPath是对Modo渲染器,大大减少了控件,通用的混合计算功能和细化功能。与默认渲染器相比,它提供了许多改进,包括GPU加速时的光线跟踪NVIDIA OptiX被选为Ray Tracing Engine。
注意: mPath渲染器当前不支持多个GPU。
如果您的场景中有很多灯光,并且您想要渲染单独的灯光通道,那么与默认渲染器相比,mPath是更好的选择,因为可以将每个灯光作为一个渲染过程的一部分渲染到单独的渲染输出中。这大大减少了渲染时间,并提高了合成工作流程的灵活性。看到每灯渲染输出欲获得更多信息。
|
|
|
|
The Light Path Expression output generated for the light tagged "lumiL" in the light's LPE Label. |
mPath渲染工作流程也最适合用于光线跟踪和阴影光线跟踪中的速度改进以及像景深之类的效果。使用mPath的阴影结果也更准确,例如在菲涅耳和折射材料中。
下图显示了不同的射线深度值。随着反射深度的增加,改善了接触阴影,并改善了近反射组件之间的反射。随着折射深度的增加,透明组件的准确性也会提高。准确的折射需要较高的深度值。
使用mPath渲染场景
1. | 在“着色器树”中,选择您的Render项目。 |
这将打开此渲染项目的Properties。
2. | 在里面Frame子标签,设置Renderer至mPath。 |
3. | 在里面Settings子标签,选择您的Ray Tracing Engine。 |
小费: mPath是混合渲染器,可以同时利用CPU和GPU。默认值Foundry SSE设置仅使用CPU进行光线投射。要将GPU用于光线投射,请选择NVIDIA OptiX。
4. | 调整“渲染项目”的mPath设置Settings子标签。 |
有关不同选项的更多信息,请参见渲染项目:mPath渲染器设置。
5. | 按F9。 |
渲染开始,并且Render窗口打开。
每灯渲染输出
用Modo的默认渲染器,您必须为每个灯光创建单独的渲染。mPath渲染使您能够添加“光路径表达式”,从而可以在单个渲染中创建单独的光输出。
光路表达式
“光路径表达式”是可以用于限制哪些类型的光路径为特定渲染输出图像贡献辐射的字符串。仅当路径事件的事件序列(路径的顶点)与渲染输出的“光路径表达式”字符串指定的模式匹配时,才会将路径添加到渲染输出。
所有路径均始于相机,并以发光的物体结束,该物体可以是发光的表面,体积效应,光源或环境。在开始事件和结束事件之间,可能发生零个或多个散射事件,其中光反弹或通过表面。
要添加光路表达式:
小费: 要使用光路径表达式,请确保mPath被选为您的Renderer在里面Render项目Properties。
1. | 请点击Render > Add Per-Light Render Outputs。 |
一个Light Path Expressions Output已添加到您的Shader Tree使用命名约定为场景中存在的每个单独的灯光LPE: C.*'<name of light / LPE label>'。
小费: 使用LPE Label在项目内Properties指定用于该项目的“光路径表达式”标签。LPE标签可以添加到灯光,材料,环境和体积表面。
2. | 选择Light Path Expressions Output在里面Shader Tree。 |
3. | 在Light Path Expression中的字段Properties。 |
使用以下示例指定您的“光路径表达式”,或使用来自Light Path Expression落下。
开始事件类型
C表示相机。由于所有路径均始于相机,因此所有有效的光路径表达式都必须以C。
分散事件类型
Syntax | Usage |
<RD> |
漫反射事件。 |
<RS> |
镜面反射事件。 |
<TD> |
漫透射事件,包括地下散射和半透明。 |
<TS> |
镜面透射事件,包括折射和溶解。 |
R |
反射事件,路径在与表面法线相同的一侧继续延伸。可以是Diffuse(<RD>)或高光( <RS> )。 |
T |
反射事件,路径在与表面法线相反的一侧继续延伸。可以是Diffuse(<TD>)或高光( <TS> )。 |
D |
漫散射事件。它可以是反射或透射(<RD>要么<TD>)。 |
S |
镜面散射事件。它可以是反射或透射(<RD>要么<TD>)。 |
结束事件类型
Syntax | Usage |
O |
宾语。发光物体(发光量和发光颜色非零的表面)。 |
V |
体积。目前在Modo它仅用于雾添加的光。 |
L |
光。直接光源。 |
B |
背景。在Modo这意味着来自环境项目的光。 |
特殊字符
Syntax | Usage |
. (期) |
可以匹配任何事件类型的通配符。 |
* (星号) |
先前事件类型的零个或多个实例。目前在Modo '*“只能在通配符后立即出现” . ',每个光路表达式一次。 |
[ ] |
一个“或”组,可以匹配方括号中列出的任何事件类型。 |
' ' (单引号) |
文本标签,可以将先前的事件限制为一个或多个项目,这些项目已被分配给出现在引号中的标签。目前,标签不能显示在方括号内或“.'和' * '个字符。 |
例子
Syntax | Usage |
C.* |
所有路径。这等效于“最终颜色”渲染输出。 |
C<RD>.* |
直接和间接漫反射。 |
C<RS>L |
高光(直射光的镜面反射)。 |
C.*L'sun' |
所有阴影均由带有“太阳”标签的直射光引起。 |
C.*[OB] |
所有阴影均来自发光物体或背景的光。 |
CDS.* |
焦散(从镜面散射到漫射表面的光)。 |
查看每灯的渲染输出
一旦使用创建了渲染F9或Render菜单中,您可以在Render窗口Output落下。