照明与渲染 / 3dsMax

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

渲染器

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

在开始处理图形之前,您需要首先考虑选择合适的渲染器。如果您不确定应该选择哪种渲染器,我们建议使用ART。请在3ds Max中使用 渲染设置 菜单设置渲染器。

环境照明

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

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

灯光(Lights)

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

Verge3D支持由3ds Max中的两种灯光类型:标准光度学

光度学灯光

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

标准灯光

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

立方体反射光照探头

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

该对象可以在 创建 面板 -> 辅助对象 类别 -> Verge3D 子类别中找到。

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

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

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

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

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

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

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

Verge3D插件添加了一个名为 V3DReflectionPlane 的自定义光照探头。该对象可以在 创建 面板 -> 辅助对象 类别 -> Verge3D 子类别中找到:

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

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

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

全局渲染设置

在3ds Max的主菜单点击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 内存消耗并降低了性能。

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

Environment Map Size
环境贴图尺寸,用于环境照明的纹理尺寸:
256
最合适的质量和较低的内存消耗(默认值)。
512
更好的质量,适中的内存消耗和相对降低的性能。可用在渲染高质量的反射的场景,例如渲染珠宝。
1024
高内存消耗,低性能,最佳渲染质量(一般不推荐)。
IBL Environment Mode(基于图像照明环境模式)
PMREM (slow)
PMREM(慢速),高质量(默认值)。
Light Probe + Cubemap (medium)
光照探头+Cubemap(中速),降低基于图像的镜面反射质量,性能更好。
Light Probe (fast)
光照探头(快速),禁用基于图像的镜面反射,性能最高。

Object Outlining对象轮廓,见下文。

环境光遮蔽(Ambient Occlusion)

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

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

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

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

轮廓渲染

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

要在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 Rendering Params面板

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

Verge3D Adv. Rendering Params面板

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

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

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

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

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

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

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

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

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

可见性断点(Visibility Breakpoints)

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

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

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

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

剪切平面

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

要添加一个剪切平面,请在3ds Max命令面板中使用 创建 -> 辅助对象 -> Verge3D -> ClippingPlane 按钮。

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

剪切平面具有以下参数:

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

遇到问题?

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