照明与渲染 / Maya

本页包含可与Verge3D for Maya一起使用的照明、渲染和背景设置的信息。

渲染器

Verge3D被设计为尽可能地趋近Maya的Viewport 2.0硬件渲染器效果。它支持基于物理的着色、灯光、阴影和基于图像的照明(IBL)。

环境照明

环境照明是Verge3D图形流水线的一个非常重要的组成部分。您可以只用环境贴图来照亮整个场景,而不使用任何灯光对象。请参阅 电动车定制器演示 作为示例:

默认的立方体模板为基于图像的照明提供了一个HDR纹理。您可以用自己的文件替换这个纹理,或者从头开始设置环境照明。为此只需将Arnold渲染器的的aiSkyDomeLight对象添加到场景中,并为Color指定纹理即可。

此外,您可以使用Intensity属性来调整环境照明的强度,使用Texture Resolution来设置其质量:

当为Skydome使用HDR纹理时,确保将色彩空间设置为Raw

您也可以不为aiSkyDomeLight指定纹理,直接模拟来自各个方向的均匀光线。但使用环境光会比此方法更有效。

灯光(Lights)

在某些情况下,仅仅使用基于图像的照明不足以照亮场景。如果您想模拟一些额外的光源,需要动态阴影,或者您需要移动您的灯光(如汽车灯光),可以使用 直接光源

Verge3D支持以下灯光类型:

此外,您可以为平行灯、点光源和聚光灯指定深度贴图阴影属性。参见 这里 的更多信息。

立方体反射光照探头(Reflection Cubemap Light Probes)

Verge3D插件增加了一个名为 v3dReflectionCubemap 的自定义光照探头对象,可用于通过局部反射立方体贴图对对象施加间接照明。

有关使用示例,请查看 Light Probe 演示(也可在资源商店中找到)。

新的光照探头(light probe)对象可以在自定义 Verge3D 工具架里找到。

此对象定义了一个由长方体或球体代表的影响体积。 所有包含在该体积内的对象, 将使用在运行时生成的本地立方盒反射, 而不是场景的全局环境纹理或颜色。

使用局部反射贴图的好处是,它有周围物体的烘焙, 而场景的全局贴图只包含Arnold的 aiSkyDomeLight 对象中指定的背景纹理或颜色。局部反射贴图也有视差效应,这取决于 影响体积(influence volume)视差体积(parallax volume) 的几何形状。

在Maya视口中及在Verge3D应用中的立方盒反射
左图 - Maya视口中的立方盒反射对象, 右图 - 其在Verge3D中为反射材质添加的效果。

v3dReflectionCubemap对象有以下属性参数:

General Settings
常规光照探头设置:
Influence Type
影响体积的类型: 球形(Sphere)长方体(Box)。 只有位于此体积内的对象才会受到光照探头照明的影响。默认为 球体(Spher)
Influence Distance
影响体积的大小。 您也可以改变对象的比例,使影响体积的形状不均匀。 默认为1.0。
Intensity
间接照明的强度。 任何不等于1.0的数值在物理学上都是不正确的。默认为1.0。
Clipping Start
裁剪起始距离。位于比此值更近的对象将不会被渲染到立方盒反射中。 默认为0.1。
Clipping End
裁剪结束距离。位于比此值更远的对象将不会被渲染到立方盒反射中。 默认为100.0。
可见性选择集
对象可见性设置:
Selection Set
将出现在立方盒反射上的对象限制为属于此选择集的物体。 在此处留空选择, 将不指定任何对象集—— 这样所有的场景对象都将被用于生成立方盒反射。 默认留空。
Invert Visibility
如果指定了 Selection Set , 则反转对此光照探头可见对象的选择。默认禁用。
Custom Parallax
视差设置:
Use Custom Parallax
启用视差校正的自定义设置。这一组设置定义了一个视差体积, 用来投射探头捕捉到的照明。如果 Custom Parallax 未启用, 时差效果将基于 Influence TypeInfluence.Distance 计算。默认禁用。
Parallax Type
视差体积的类型:球形(Sphere)长方体(Box)。默认为 球体(Sphere)
Parallax Distance
视差体积的大小。默认为1.0。
Custom Influence
自定义影响设置:
Use Custom Influence
启用自定义影响设置。 这组设置允许定义将受此光照探针影响的一组对象。 将使用 Selection Set(如果指定)代替 Influence TypeInfluence Distance 常规探头设置。
Selection Set
将应受此光照探针影响的对象限制为此选择集。 如果指定,则使用它代替 Influence TypeInfluence Distance 常规探头设置。
Invert Influence
如果指定了 Selection Set , 则反转受此探头影响的对象的选择。

反射平面光照探头(Reflection Plane Light Probes)

反射平面光照探头,用于将实时反射(间接照明)应用于平面对象,如镜子、地板、墙壁等。

有关使用示例,请查看 Light Probe 演示(也可在资源商店中找到)。

这个新的光照探头对象可以在自定义的 Verge3D 工具栏中找到:

反射平面对象具有以下参数:

Influence Dist.
探头所影响的距离。
Falloff
衰减:控制探头影响的下降速度。
Clip Offset
剪切偏移:在靠近摄影机处对光照探头中渲染的对象进行剪切。
Visibility Selection Set
可见选择集:光照探头可见对象的选择集。

反射平面光探头只能作用于粗糙度为零且金属度最大的表面:

平面反射探头会大大降低场景的性能,因为它们会将绘制调用(draw calls)次数乘以 N+1 的系数。若要加快渲染速度,请在 Visibility Selection Set 属性中指定一组有限的反射对象。

背景(Background)

默认情况下,Verge3D渲染的背景与您在Maya的视图中看到的一样(大多数情况下是灰色)。当使用基于图像的照明(由aiSkyDomeLight对象提供)时,您会看到环境纹理。

要将背景改为其他颜色,不要在Maya中编辑视图设置,只需更改主摄影机属性中环境“背景色”并启用Verge3D属性中的Render Background属性即可。

您可以使用Maya的渲染视图窗口或Verge3D的Sneak Peek功能来预览具有自定义背景的场景。

全局渲染设置

在Maya的主菜单点击Verge3D -> Export Settings... 来访问全局渲染设置。

Anti-Aliasing
抗锯齿,选择场景使用何种反锯齿算法:
Auto
自动,使用系统默认方法。
MSAA 4x
如果目标硬件支持的话,则首选使用4倍采样的多采样抗锯齿。
MSAA 8x
如果目标硬件支持的话,则首选使用使用8倍采样的多采样抗锯齿。
MSAA 16x
如果目标硬件支持的话,则首选使用使用16倍采样的多采样抗锯齿。
FXAA
强制使用快速近似抗锯齿(FXAA)。
None
禁用抗锯齿。
Use HDR Rendering

启用HDR渲染,即高动态范围渲染。

如果激活,Verge3D 将使用 16 位浮点纹理作为渲染缓冲区。此功能可以显著改善 Bloom 后处理的渲染以及基于节点的渐变纹理的平滑度。这样做的缺点是增加了 GPU 内存消耗并降低了性能。

This feature is not related to HDR textures which are commonly used to produce image-based lighting, thus activating it won't improve rendering of such textures.

IBL Environment Mode(基于图像照明环境模式)
PMREM (slow)
PMREM(慢速)- 高质量(默认值)。
Light Probe + Cubemap (medium)
光照探头+Cubemap(中速)- 降低基于图像的镜面反射质量,性能更好。
Light Probe (fast)
光照探头(快速)-禁用基于图像的镜面反射,性能最高。

环境光遮蔽(Ambient Occlusion)

环境光遮蔽是一种渲染技术, 它根据点暴露在光源中的程度, 从间接(环境)照明中添加柔和的阴影,从而提高场景的真实感。

Verge3D实现了地面实况环境光遮蔽(GTAO), 您可以在 Verge3D Export SettingsAO 部分找到这些设置(Maya菜单 Verge3D->Export Settings... ):

Verge3D 仅对 Standard SufraceaiStandardSufrace 材质添加环境光遮蔽效果,并且仅当场景具有环境光照(通过Arnold的 aiSkyDomeLight 对象添加)时才添加环境光遮蔽效果。

Enabled
在场景中启用环境光遮蔽。
Distance
距离:用于计算环境光遮蔽的半径(以系统为单位)。 较高的值通过过度变暗和扩大其区域使效果更加明显, 但也会降低性能。 较低的值会使遮蔽不太明显。
Factor
因子:遮蔽效果的强度。
Trace Precision
跟踪精度:更高的精度意味着更准确的遮挡, 同时提高性能成本。 精度越低,意味着性能越好,但效果似乎不那么突出。
Bent Normals
使用修改的(或“弯曲”)法线对环境进行采样替代原有采样。 修改后的法线表示遮蔽最少的方向, 并使环境光照更加逼真。

轮廓渲染

轮廓渲染(又名剪影边缘渲染)是一种常见的非真实感渲染(NPR)技术,可以显著增强场景视觉感知。这种效果可用于各种应用,如电子学习、游戏、建筑可视化和技术绘图。

要在Verge3D应用中使用物体的轮廓(和可选的辉光),首先在 Verge3D Exports Settings渲染属性面板上启用该效果:

然后将 outline(轮廓) 拼图应用于对象物体。

轮廓渲染在AR/VR进程中不起作用。可使用其他方法来突出对象物体,如动画或改变材质的颜色。

可以使用以下属性来调整轮廓:

Enabled — 启用/禁用效果。

Edge Strength — 轮廓强度系数。

Edge Glow — 额外发光的强度(渲染在在主轮廓边缘之外)。

Edge Thickness — 轮廓边缘厚度系数。

Pulse Period — 以秒为单位的脉冲周期。指定以下参数,使效果动画化。

Visible Edge Color可见边颜色

Hidden Edge Color隐藏边颜色,在任何其他场景对象后面的被渲染的轮廓边的颜色。

Render Hidden Edge渲染隐藏边,启用/禁用渲染其他场景对象后面的轮廓边。

尽管有可能渲染发光的物体,但在大多数情况下可以用轮廓渲染来提高场景的视觉清晰度。如果您需要从灯或其他明亮的物体上发光,可以考虑使用 辉光后期处理 来代替。

每个对象的渲染设置

Verge3D为您的几何对象支持以下额外的渲染设置:

Rendering Order渲染顺序-修改特定对象的渲染顺序。索引值越小,该对象就越早被渲染。在大多数情况下,当使用混合透明度时,您需要调整这个值,以消除透明度的伪影。

Frustum Culling锥台剔除-启用/禁用对象的锥台剔除优化。如果您有一些可以移动到屏幕空间之外的蒙皮对象,请取消勾选这个选项,以防止它被剔除。

此外,还有一组对象变换设置位于 Verge3D -> Advanced Rendering 面板上:

HiDPI Compositing
使用 HiDPI 合成通道渲染对象。有关详细信息,请参阅 下文
Fix Ortho Zoom
应用反向正交摄影机变焦作为此对象的比例因子。为父级为正射摄影机的对象启用此属性,以便在用户缩放摄影机时它们不会移动/缩放。
Fit to Camera Edge
请参阅 此处 了解详情。
Visibility Breakpoints
启用对象可见性断点。请参阅 此处

在高分屏/视网膜屏(HiDPI/Retina)上渲染

如今,大多数移动终端和桌面终端都使用了高像素密度技术(即所谓的“Retina”显示器)。在这些显示器上,画面质量有了极大的提升,但其所带来的缺点是降低实时画面计算性能。

以下两种方法是可以在质量和效率之间取得平衡——既提升渲染画质,又不会让场景变得太慢:

后一种方法可以通过启用位于 Advanced Rendering 面板上的 HiDPI Compositing 属性实现:

有关使用示例,请查看 Ring 演示(也可在资源商店中找到)。

贴合摄影机边界(Fit to Camera Edge)

Fit to Camera Edge 是一种基于Maya模型绘制屏幕空间UI元素的技术。与使用HTML/CSS相比,这种UI设计方法对3D艺术家来说更“原生”,并且不需要外部工具。但其中还有更多内容:因为UI元素是真正的3D对象,所以您可以应用着色器、照明、动画、变形(您可以自己命名),使它们真正交互式并无缝集成到场景中。

将某个对象设置为摄影机的父对象时, Advanced Rendering 面板上将显示以下设置:

Horizontal(水平)
贴合对象的水平画布边缘。None - 无水平贴合,Left - 贴合左边缘,*右*- 贴合右边缘,Stretch - 水平缩放对象以贴合屏幕。
Vertical(垂直)
垂直画布边缘适合对象。None - 无垂直贴合,Top - 贴合上边缘,Bottom - 贴合下边缘,Stretch - 垂直缩放对象以贴合屏幕。
Shape(形状)
画布贴合形状。 Box — 使用对象的边界框, Sphere — 使用物体的边界球来适应屏幕上的对象。
Fit Offset(贴合偏移)
用于在屏幕上调整贴合对象的额外偏移量。实际上,该值按指定的绝对值扩展对象边界(长方体或球体)。

可见性断点(Visibility Breakpoints)

Visibility Breakpoints 允许您根据 3D 视口宽度/高度或方向设置显示/隐藏内容。此功能最重要的用例 — 使场景适应不同的屏幕大小和方向。例如,您可能有两种不同的纵向和横向屏幕方向模型。

如果指定给当前摄影机,则尝试切换到场景中的备用摄影机(必须具有可用的Visibility Breakpoints),如果未找到备用摄影机,则不执行任何操作。

您可以在 Advanced Rendering 面板上配置断点:

Min Width
对象保持可见的最小画布宽度。
Max Width
对象保持可见的最大画布宽度。
Min Height
对象保持可见的最小画布高度。
Max Height
对象保持可见的最大画布高度。
Orientation
对象保持可见的屏幕方向。

剪切平面

剪切平面(又称剖面图、横截面图、网格截面)是一种用于显示复杂对象(如建筑物、汽车、电器、小玩意、机器等)内部结构的技术。

要添加一个新的剪贴面,使用位于Maya工具架上的 Verge3D->Add a v3dClippingPlane 对象按钮。

场景中的对象将在剪切平面对象的 -Y 方向被剪切。

有关使用示例,请查看 Clipping Planes 演示(也可在资源商店中找到)。

剪切平面具有以下参数:

Affected Objects
受影响的对象,被平面剪切的对象的选择集。如果为空,所有场景对象都将被剪切。
Negated
负方向,即对调被剪切和未剪切的两边。
Clip Shadows
剪切从被剪切对象投出的阴影。
Union Planes
对从所有裁剪平面构造并集,影响对象,而不是使用它们的交集影响对象。
Cross-Section
填充剪裁平面和受影响对象之间的横截面。
Cross-Section Color
横断面漫反射颜色和不透明度。
Cross-Section Size
横截面尺寸。如果使用较大的场景大小,请增加该值。

遇到问题?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。