照明与渲染 / Maya
本页包含可与Verge3D for Maya一起使用的照明、渲染和背景设置的信息。
- 渲染器
- 环境照明
- 灯光(Lights)
- 立方体反射光照探头(Reflection Cubemap Light Probes)
- 反射平面光照探头(Reflection Plane Light Probes)
- 背景(Background)
- 全局渲染设置
- 环境光遮蔽(Ambient Occlusion)
- 轮廓渲染
- 每个对象的渲染设置
- 在高分屏/视网膜屏(HiDPI/Retina)上渲染
- 贴合摄影机边界(Fit to Camera Edge)
- 可见性断点(Visibility Breakpoints)
- 剪切平面
渲染器
Verge3D被设计为尽可能地趋近Maya的Viewport 2.0硬件渲染器效果。它支持基于物理的着色、灯光、阴影和基于图像的照明(IBL)。
环境照明
环境照明是Verge3D图形流水线的一个非常重要的组成部分。您可以只用环境贴图来照亮整个场景,而不使用任何灯光对象。请参阅 电动车定制器演示 作为示例:
默认的立方体模板为基于图像的照明提供了一个HDR纹理。您可以用自己的文件替换这个纹理,或者从头开始设置环境照明。为此只需将Arnold渲染器的的aiSkyDomeLight对象添加到场景中,并为Color指定纹理即可。
此外,您可以使用Intensity属性来调整环境照明的强度,使用Texture Resolution来设置其质量:
- Low (64x64)和Medium (128x128)- 不支持这些值,Verge3D将使用High (256x256)设置来代替它们。
- High (256x256) — 最合适的质量和较低的内存消耗(默认值)。
- Higher (512x512) — 更好的质量,适中的内存消耗和相对降低的性能。可用在渲染高质量的反射的场景,例如渲染珠宝。
- Ultra (1024x1024) — 高内存消耗,低性能,最佳渲染质量(一般不推荐)。
当为Skydome使用HDR纹理时,确保将色彩空间设置为Raw。
您也可以不为aiSkyDomeLight指定纹理,直接模拟来自各个方向的均匀光线。但使用环境光会比此方法更有效。
灯光(Lights)
在某些情况下,仅仅使用基于图像的照明不足以照亮场景。如果您想模拟一些额外的光源,需要动态阴影,或者您需要移动您的灯光(如汽车灯光),可以使用 直接光源
Verge3D支持以下灯光类型:
- 环境光(Ambient Lights) — Verge3D中支持 颜色(Color) 和 强度(Intensity) 属性(Attribute)。
- 平行光(Directional Lights) — Verge3D中支持 颜色(Color) 和 强度(Intensity) 属性。
- 点光源(Point Lights) — Verge3D支持 颜色(Color) 、 强度(Intensity) 和 衰退速率(Decay Rate) 属性。
- 聚光灯(Spot Lights) — Verge3D中支持 颜色(Color) 、 强度(Intensity) 、 衰退速率(Decay Rate) 、 圆锥体角度(Cone Angle) 和 半影角度(Penumbra Angle) 属性。
- 区域光(Area Lights) — Verge3D中支持 颜色(Color) 和 强度(Intensity) 属性。光线变换的比例控制着发光的区域。
此外,您可以为平行灯、点光源和聚光灯指定深度贴图阴影属性。参见 这里 的更多信息。
立方体反射光照探头(Reflection Cubemap Light Probes)
Verge3D插件增加了一个名为 v3dReflectionCubemap 的自定义光照探头对象,可用于通过局部反射立方体贴图对对象施加间接照明。
有关使用示例,请查看 Light Probe 演示(也可在资源商店中找到)。
新的光照探头(light probe)对象可以在自定义 Verge3D 工具架里找到。
此对象定义了一个由长方体或球体代表的影响体积。
所有包含在该体积内的对象,
将使用在运行时生成的本地立方盒反射,
而不是场景的全局环境纹理或颜色。
使用局部反射贴图的好处是,它有周围物体的烘焙,
而场景的全局贴图只包含Arnold的
aiSkyDomeLight
对象中指定的背景纹理或颜色。局部反射贴图也有视差效应,这取决于
影响体积(influence volume)
或
视差体积(parallax volume)
的几何形状。
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 Type 和 Influence.Distance 计算。默认禁用。
- Parallax Type
- 视差体积的类型:球形(Sphere) 或 长方体(Box)。默认为 球体(Sphere)。
- Parallax Distance
- 视差体积的大小。默认为1.0。
- Custom Influence
-
自定义影响设置:
- Use Custom Influence
- 启用自定义影响设置。 这组设置允许定义将受此光照探针影响的一组对象。 将使用 Selection Set(如果指定)代替 Influence Type 和 Influence Distance 常规探头设置。
- Selection Set
- 将应受此光照探针影响的对象限制为此选择集。 如果指定,则使用它代替 Influence Type 和 Influence 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 Settings 的 AO 部分找到这些设置(Maya菜单 Verge3D->Export Settings... ):
Verge3D 仅对 Standard Sufrace 和 aiStandardSufrace 材质添加环境光遮蔽效果,并且仅当场景具有环境光照(通过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”显示器)。在这些显示器上,画面质量有了极大的提升,但其所带来的缺点是降低实时画面计算性能。
以下两种方法是可以在质量和效率之间取得平衡——既提升渲染画质,又不会让场景变得太慢:
- 使用相对更好的分辨率,例如通过将屏幕缩放因子设置为1.5左右。请参阅 此处 了解详情。
- 仅对重要内容(如文本、屏幕空间 UI 元素等)使用 HiDPI 呈现。
后一种方法可以通过启用位于 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),在线寻求帮助。