如何以V-RAY NEXT设置照明分析

作者 / Vladimir Koylazov
翻译 / Hammer Chen

我们在 V-Ray Next 中为 3ds Max 添加了新的照明分析工具(Lighting Analysis),可帮助您测量和分析场景中的亮度级别。您将能够创建套色热图(false color heat maps)和迭上数据,以显示亮度(以烛光为单位)或照度(以 lux 为单位)的值。

V-Ray Next 中的照明分析使用两个组件:VRayLightMeter helper 和 VRayLightingAnalysis 渲染元素。尽管 VRayLightMeter helper 物体自 V-Ray 2.0 版以来就已经有了,但在最新版的 V-Ray Next 中已提升至更好的精度。 VRayLightingAnalysis 渲染元素则是 V-Ray Next 的新功能。

使用 VRayLightMeter helper

VRayLightMeter helper 是一个矩形网格,网格显示顶点的照度值。这个网格可以显示总照度,直接照度,间接照度和日光因子。也可以显示光源的主要方向。


左侧:3ds Max 视口中的 VRayLightMeter 显示套色,光线方向和用文字表示照度值。
右侧:3ds Max 命令面板中的 VRayLightMeter 界面。

要显示测光表值,首先需要点击计算按钮或使用 Maxscript calculate() 命令。 (V-Ray在正常图像渲染过程中不会自动重新计算照度计值。)可以通过设置错误容限值(Error tolerance)来控制精度。更高的值计算得更快,但结果可能会有更多噪声。

V-Ray 会在背景使用其光线烘焙机制以数次(passes)计算光量计值。这包括四个烘焙过程:一个用于收集主要照度数据,两个用于确定主要的光照方向,另一个用于计算日光因子(daylight factor)。为了确保正确的结果(与 radiosity 辐射度方法相比, 要有具有足够数量的光线反弹),V-Ray 会自动覆盖原本的渲染设置,并使用 brute force 和灯光缓存的组合计算全局照明。


显示当前渲染计算进度的窗口。

V-Ray 目前还没有 Lighting Analysis 控制面板。 如果您需要为场景中的所有 VRayLightMeter 辅助对象设置 min/ max 数值,可使用以下 Maxscript 函数:

fn setVRayLightMetersScale fmin fmax logarithmic = (
local lightMeters=getClassInstances VRayLightMeter
for lightMeter in lightMeters do (
lightMeter.min=fmin
lightMeter.max=fmax
lightMeter.log=logarithmic
)
)

以下MaxScript函数可用于计算场景中的所有启用的VRayLightMeter helper物体:

fn calcAllVRayLightMeters = (
local lightMeters=getClassInstances VRayLightMeter
for lightMeter in lightMeters do (
if lightMeter.active then lightMeter.calculate()
)
)

使用 VRayLightingAnalysis 渲染元素

VRayLightingAnalysis 是一个独特的渲染元素。除了自身的渲染元素之外,还会在 V-Ray 帧缓冲区添加了两个渲染元素,这些渲染元素会显示绝对的,非缩放的照度(lux)和亮度(烛光)值。 VRayLightingAnalysis 渲染元素可以从渲染器设置中添加。


左侧:渲染完成后,VRayLightingAnalysis 以套色模式呈现元素。
附加的照度和亮度渲染元素也可以在 V-Ray 帧缓冲区中看到。
右侧:VRayLightingAnalysis 渲染元素界面。


左图:VRayLightingAnalysis,在原始图像上覆盖网格上的照度值。
RIGHT: Original RGB rendering.
右图:原始RGB渲染。

VRayLightingAnalysis 渲染元素是一种后制效果,并且只在渲染完成后才会更新。 渲染完成后,大多数 VRayLightingAnalysis 设置都可以进行调整,而无需重新渲染。 您只需更改设置并按下 Update 按钮。

当使用与 VRayLightMeter 相同的设置(最小/最大和刻度类型)时,结果应该与总照度相同。

在玻璃和镜子物体上显示的照度值表示其表面上的照度,而不是通过玻璃或镜子看到的表面的照度。由于这些材质不能漫反射光线,因此 V-Ray 会以非常低的精度计算这些照度值 – 或者甚至可能完全忽略照度计算。因此,这些值可能具有相当多噪声甚至数值为零。

为了确保正确的结果,建议使用默认的 V-Ray GI 设置,增加光缓存细分(例如2000)和更高的光缓存回扫阈值(light cache retrace threshold)(例如4.0)。

转换以前的 3ds Max 照明分析场景

有两种方法可将现有的 3ds Max 场景和照明分析组件转换为 V-Ray 等效物。 一种方法是使用 3ds Max 场景转换器工具(3ds Max Scene Converter tool)。另一种方法是使用 V-Ray Next 中所附带的 V-Ray 场景转换器脚本(V-Ray scene converter script)。 这两种工具都可以将 3ds Max Light Meter 物体和 Lighting Analysis Overlay 渲染效果以及其他场景组件转换为各自的 V-Ray 等价物。要选择 V-Ray 场景转换器,请在任何 3ds Max 视口中单击鼠标右键。(请先确认当前渲染器设置为 V-Ray。)


左图:显示 V-Ray 场景转换器的四个选单。 右图:V-Ray 场景转换器对话框。

结论

3ds Max 的 V-Ray Next 中的新照明分析工具可以替代以前包含在 3ds Max 中的那些照明分析工具。VRayLightMeter helper 和 VRayLightingAnalysis 渲染元素的结合,可以准确地分析和测量场景中的亮度级别。

关于作者

Vladimir Koylazov
Vlado 是 Chaos Group 的首席技术官与联合创始人。他是渲染理论的专家,也是 3D 社群的狂热支持者。当不编写代码时,他经常参与论坛讨论并帮助用户解决大家的渲染疑惑。 Vlado 是 V-Ray 背后的重要推手,最近因为促进光线追踪成为电影视觉特效的关键技术而荣获 2017 年奥斯卡科学技术奖。