前面的实践让我们更加了解UE4真实物理属性与灯光环境的一些知识,但是还是有一些常见的疑问需要解释一下:
虚拟摄像机为什么要EV值和拍摄的时候相机EV值同步?
可以不同步,使用默认的 EV100=0,这种情况下天光及自发光天空盒子材质都不需要倍乘 2^13,视窗中看到的亮度是一样的。但是太阳的亮度就不好控制,无法使用基于现实 150000lux 的值,而需要极大的减小(除以 2^13);人造光源同样也无法直接映射厂家提供的照度值,需要相应减小;这样不同光源光比无法精准设置。当然我们可以符合真实物理参数设置好后统一按比例缩小,最终效果和缩放前是一致的。UE 里使用的 EV 值其实可以根据视觉需要随意的,同步到照相机中间曝光的 EV 的目的仅仅是需要一个曝光的起点,在这个起点的EV下,UE里的视窗看到的亮度等同于照相机拍摄的中间曝光的亮度;然后以这个起点还原灯光的物理值,然后再做美术上的偏移修改。
以下展示了整体缩放所有光源亮度值为 1/1000,并相应调整摄像机 EV 后的对比;结果看上去是一致的。
最终的图片(上图)看上去并不好看啊,对比这么强烈,这是我们想要的吗?
这就回到第一个问题,为什么要使用物理灯光?因为最终还是需要为视觉效果服务。第一个目的是了解光比,真实世界光比在以上这个光线环境下是非常高的,但通常我们的显示器并不具备这样的还原能力。我们需要艺术化,这里减小光比,比如增强人造光源的亮度平衡光比;这也是传统电影实景打光的技巧。
那为什么搞这么复杂,直接一开始就让美术根据需求结合显示效果自由调整就可以了?这就回到之前说的目的二:规范灯光数值:从太阳和天空开始;避免全地图,或全项目灯光参数的随意性;另外如果没有从真实的光比开始有时无法想象到这种真实光比的夸张性,会被局限在感性理解的思维中。
以上仅是一个特定光照环境(晴天)的还原,但现实的光照环境复杂多变,还有哪些更多需要注意的吗?
特定环境照度,白平衡等为已知,但现实环境光线复杂,需要做 LookDev 来尽可能的还原灯光环境;
● 直接光(即在 UE4 中需要使用光源来实现的)强度和色温需要被测量(测光表,相机测光,白平衡表);间接光(HDRI)的获取在任何情况下使用 6500K 色温来拍摄 Ground Truth 和 HDRI;
● 我们需要一些辅助道具被拍摄入正常的照片作为 Ground Truth 以及 HDRI 中,用来作为 Tonemapping HDRI 时候的参考;Groud Truth 用来作为参考在 UE4 中 eye ball 灯光属性调整目标参考,比如:灰球(质感);金属球(反射);灰板(色温曝光);灰阶(Gamma);色卡(综合参考);
● UE4中对照材质:金属球:Roughness=0.1; BaseColor=0.95; 灰球:Roughness=0.95;Basecolor=0.18;可利用引擎自带色彩校验资源 StaticMesh'/Engine/EditorMeshes/ColorCalibrator/SM_ColorCalibrator.SM_ColorCalibrator'。
以下为辅助工具
以下为UE4中Ground Truth(照片)和CG之间对比。
EV最好不要超过15,否则由于精度关系会失真并损失细节。开Pre-Exposure可改善。