照明与渲染 / 3ds Max

本页包含可以在Verge3D中使用的3ds Max照明与渲染的有关信息。

渲染器

Verge3D支持3ds Max中提供的三个渲染器:Scanline、ART 和 Arnold(推荐)。Scanline渲染器用于标准灯光和材质,而ART/Arnold渲染器则通常用于光度学灯光和物理材质。

在开始处理图形之前,选择合适的渲染器是您首先应该考虑的事情。如果您不确定应该选择哪种渲染器,我们建议使用Arnold。请在3ds Max中使用 "渲染设置..." 窗口设置渲染器。

环境照明

环境照明是基于物理材质的Verge3D图形流水线中一个非常重要的组成部分。您可以只用环境贴图来照亮场景,而不使用任何灯光对象(例如 电动车配置器案例)。

默认的立方体模板为基于图像的照明提供了一个HDR纹理。您可以用自己的文件替换此纹理,或从头开始设置环境照明,参考此视频:

灯光

如果您的场景需要动态阴影,或者需要移动光源(如汽车灯光),可以使用 灯光对象。

Verge3D支持由3ds Max中提供的两种灯光类型:Standard 和 Photometric。

光度学灯光

光度学灯光通常与 物理材质 一起使用。Verge3D对此类灯光的表现以3ds Max的Arnold渲染器作为参考。此外,您可以使用物理摄影机 曝光控制 设置来调整渲染的亮度和色彩范围。

标准灯光

标准灯光通常与 标准材质 一起使用。Verge3D对此类灯光的表现以3ds Max的Scanline渲染器作为参考。

立方体反射光照探头

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

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

该对象可以在 Create 面板 → Helpers 类别 → Verge3D 子类别中找到:

在3ds Max中添加光照探头辅助对象

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

使用局部反射贴图的好处是,它有周围物体的烘焙,而场景的全局贴图只包含Max的环境设置中指定的背景纹理或颜色。局部反射贴图也有视差效应,这取决于 影响体积 或 视差体积 的几何形状。

Max视口中的反射立方体贴图和Verge3D中的效果
左图 - Max视口中的立方盒反射对象,右图 - 其在Verge3D中为反射材质添加的效果。

立方盒反射对象有以下属性参数:

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

反射平面光照探头

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

使用反射平面的加载卸载演示
在 Load Unload 演示中使用反射平面来渲染地板反射。

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

Verge3D插件添加了一个名为 V3DReflectionPlane 的自定义光照探头。该对象可以在 Create 面板 → Helpers 类别 → Verge3D 子类别中找到:

在3ds Max中添加反射平面辅助对象

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

反射平面参数
Length
反射平面长度。
Width
反射平面宽度。
Influence Dist.
探头的影响距离。
Falloff
控制探头影响的下降速度。
Clip Offset
在光照探头中渲染对象的近摄影机裁剪。
Visibility Selection Set
光照探头可见对象的选择集。

性能考虑

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

全局渲染设置

全局渲染设置可通过 Verge3D Export Settings 对话框窗口访问(3ds Max菜单中 Verge3D → Export Settings...)。

Common 标签页

通用渲染设置窗口
Scene Copyright
指定您希望所有导出文件中都存在版权信息。
Bake Text
是否按原样导出Font对象或将其烘焙为几何网格。请参阅本手册的 文本渲染 部分以了解这两种模式的更多信息。
Enable LZMA Compression
为导出的glTF文件启用LZMA压缩。请查看 资源压缩 部分以获取更多信息。
Compress Textures
以 KTX2压缩格式 存储导出的纹理。
Anti-Aliasing
选择场景使用何种抗锯齿算法:
Auto
使用系统默认方法。在大多数情况下,这将是MSAA 4x。
MSAA 4x
如果目标硬件支持,则首选使用4倍采样的多采样抗锯齿。提供不错的质量和性能。
MSAA 8x
如果目标硬件支持,则首选使用8倍采样的多采样抗锯齿。此算法以降低性能为代价提供更好的抗锯齿质量。
MSAA 16x
如果目标硬件支持,则首选使用16倍采样的多采样抗锯齿。与MSAA 4x/8x相比,此算法提供更好的抗锯齿质量,但性能最差。
FXAA
强制使用快速近似抗锯齿(FXAA)。如果您遇到程序纹理的锯齿问题,请启用此算法。
None
禁用抗锯齿。当质量不重要时,将此选项用作激进的性能优化。
Use HDR Rendering

启用高动态范围渲染。

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

此功能与通常用于生成基于图像照明的 .hdr 纹理无关,因此激活它不会改善此类纹理的渲染。

Order-Indep. Transparency

启用顺序无关透明度(OIT)渲染技术,可解决大多数透明度问题。请参阅此处了解更多信息。

Environment Map Size
用于环境照明的纹理尺寸:
256
最佳质量和较低的内存消耗(默认值)。
512
更好的质量,适中的内存消耗和相对降低的性能。可用在渲染高质量反射的场景,例如渲染珠宝。
1024
高内存消耗,低性能,最佳渲染质量(一般不推荐)。
IBL Environment Mode

用于基于图像的环境照明的算法。

PMREM (best)
使用预过滤的、带mipmap的辐射环境贴图(PMREM)。此属性默认被选择,因为它同时提供最高质量和不错的性能。
Light Probe (fast)
完全禁用基于图像的镜面反射,但仍会应用漫反射分量。此模式速度快,但仅对非金属表面(例如使用 Standard 或 Lambert 着色器渲染的表面)提供不错的质量。
None (fastest)
禁用基于图像的镜面反射和漫反射照明。这是所有模式中最快的。如果您使用无阴影(自发光)表面或仅依靠光源来为场景着色,则非常适用。
Optimize Mesh Attrs
从导出的网格中移除未使用的几何属性(如切线)。

Shadows 标签页

阴影设置窗口

全局阴影设置。请参阅相应章节了解更多信息。

Animation 标签页

Verge3D for 3ds Max动画设置窗口

全局动画设置。请参阅此处的说明。

AO 标签页

环境光遮蔽设置窗口

环境光遮蔽设置。请参阅下方。

Outlining 标签页

轮廓设置窗口

轮廓效果设置。请参阅下方。

环境光遮蔽

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

Verge3D实现了地面实况环境光遮蔽(GTAO),您可以在 Verge3D Export Settings 的 AO 部分找到这些设置(3ds Max菜单 Verge3D → Export Settings...):

环境光遮蔽设置窗口

Verge3D仅对 Physical Material 节点添加环境光遮蔽效果,并且仅当场景具有 环境光照(颜色或贴图)时才添加。

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

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

轮廓渲染

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

轮廓效果示例
在 Industrial Robot 演示中使用轮廓效果来突出选择。

要在Verge3D应用中使用对象的轮廓(和可选的辉光),首先在 Verge3D Export Settings 对话框中启用该效果:

轮廓设置窗口

然后使用 outline 拼图应用于您的对象。

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

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

Enabled
启用/禁用效果。
Edge Strength
轮廓强度系数。
Edge Glow
额外发光的强度(渲染在主轮廓边缘之外)。
Edge Thickness
轮廓边缘厚度系数。
Pulse Period
以秒为单位的脉冲周期。指定此值可使效果动画化。
Visible Edge Color
可见边颜色。
Hidden Edge Color
在任何其他场景对象后面的被渲染的轮廓边的颜色。
Render Hidden Edge
启用/禁用渲染其他场景对象后面的轮廓边。

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

曝光控制

Verge3D for 3ds Max支持以下曝光控制算法:

请参见Autodesk的 官方文档,了解如何为场景配置曝光控制。

每个对象的渲染设置

Verge3D支持以下额外的对象渲染属性:

Verge3D Rendering Params 面板

每个对象的渲染参数面板
Rendering Order
修改特定对象的渲染顺序。索引值越小,该对象就越早被渲染。在大多数情况下,当使用混合透明度时,您需要调整这个值以消除透明度伪影。
Frustum Culling
启用/禁用对象的锥台剔除优化。如果您有一些可以移动到屏幕空间之外的蒙皮对象,请取消勾选此选项以防止其被剔除。

Verge3D Adv. Rendering Params 面板

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

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

如今,大多数移动终端和桌面终端都使用了高像素密度技术(即所谓的"Retina"显示器)。这些显示器允许您大幅提高渲染质量。渲染大量像素的缺点是降低性能。

以下两种方法可以使您的内容看起来更好,同时不会使场景变得太慢:

后一种方法可以通过启用位于 Verge3D Adv. Rendering Params 面板上的 HiDPI Compositing 属性轻松实现:

在3ds Max中激活HiDPI合成
3ds Max中HiDPI渲染示例
在 E-learning 演示中使用HiDPI合成来显示UI控件和文本。

然而,在单独的通道中渲染HiDPI内容有一些限制:

这基本上意味着HiDPI合成应主要用于UI元素或摄影机父级对象。

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

可见性断点

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

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

您可以在 Verge3D Adv. Rendering Params 面板上配置断点:

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

线渲染

使用此功能,您可以通过线条来渲染3ds Max对象。线渲染最常见的用例是绘制曲线对象,这些对象本身没有任何几何体。但是,您也可以将此技术应用于常规网格和曲面:

使用线渲染功能显示的对象线框
使用线渲染功能显示的对象线框。

线渲染在位于 Object Data Properties 面板的 Verge3D Settings 中激活:

线渲染属性

在此处您还可以指定渲染线条的颜色和宽度。在Verge3D中,线条使用Emission着色器渲染。

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

剪切平面

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

使用剪切平面显示绞肉机内部结构
使用剪切平面显示绞肉机的内部结构。

要添加一个剪切平面,请在3ds Max中使用 Create → Helpers → Verge3D → ClippingPlane 按钮:

3ds Max中的剪切平面设置面板

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

剪切平面具有以下参数:

Affected Objects
被平面剪切的对象的选择集。如果为空,所有场景对象都将被剪切。
Negated
对调被剪切和未剪切的两边。
Clip Shadows
剪切从被剪切对象投出的阴影。
Union Planes
从所有影响对象的剪切平面构造并集,而不是使用它们的交集。
Cross-Section
填充剪切平面和受影响对象之间的横截面。
Cross-Section Color
横截面漫反射颜色和不透明度。
Render Side
横截面渲染面。指定 Double-sided 以渲染具有切口和孔洞的复杂几何体。
Cross-Sect. Size
横截面平面尺寸。如果使用较大的场景尺寸,请增加此值。

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

遇到问题?

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