HDR 环境贴图的原理、应用和制作
2022-11-28叶翔宇
叶翔宇
厦门大学嘉庚学院设计与创意学院,福建厦门 363123
1 引言
接触过三维渲染的影视后期工作者对高动态范围(High Dynamic Range,HDR)环境贴图都不会陌生。《终结者2:审判日》是最早使用HDR 环境贴图的电影之一(图1),片中的反派T1000有着全金属的外形,与终结者可以借助模型不同,他还要像液体一样变形,这必须要使用电脑特效才能完成,而在这之前从来没有人尝试如此高反射物体的后期合成,如何使其融入实拍场景是一大难题。导演詹姆斯·卡梅隆使用背景板上的图像拼凑出了一张能够赋予T1000反射信息的贴图,成功地克服了这一难题。这部影片也大获成功,拿下了第64届奥斯卡金像奖最佳视觉效果奖。
图1 《终结者2:审判日》中经典形象T1000
如今HDR 环境贴图的技术已十分成熟,使用它可以快速地为三维场景赋予一个真实的光照环境,即使制作的并不是写实风格的渲染,这也是得到一个初始的画面一种很便捷的方式,方便渲染合成师继续深入刻画细节。含有三维特效的影视制作几乎都离不开HDR 环境贴图,更深层地理解它研究它,有助于进一步提升影视特效制作。
2 HDR环境贴图的含义
2.1 高动态范围(High Dynamic Range,HDR)
相信即使没有接触过三维渲染的人,在使用智能手机拍照时也使用过HDR 的选项,手机摄影的HDR 和三维软件所使用的HDR 并不完全相同,但是也有一定的关系,在此可以简单分析数码摄影的HDR 来理解其中的概念。
在使用相机拍摄亮度对比强烈的风景照时,比如带有天空的景色,往往会遇到一个问题:画面中最亮的云朵部分已经过曝失去了细节,而画面中最暗的前景部分却因为太暗而失去细节 (图2 (a))。在专业摄影时,这种问题的解决方法有以下几种:第一可以整体降低曝光,保证天空包含细节,然后用闪光灯、反光板等设备为前景补光,这种方式在人像摄影时被广泛使用,但是远处的山、建筑等物体是很难用人为补光的方式来照亮。第二可以使用偏振镜等滤镜的方式过滤部分天空的光来保证天空的细节。第三就是拍摄RAW 格式①后修图。
随着数码摄影技术的发展,很多手机和数码相机有了HDR 的功能,从而一定程度解决了以上问题。HDR 功能可以让相机拍照时同时分析出多张不同曝光度的照片,然后把曝光度低的信息运用到画面过亮的部分,把曝光高的部分运用到画面暗的部分[1],从而得到图2 (b)效果。
图2 HDR 效果处理前后照片对比
普通图片格式使用的是八色位 (8 bit)的图像信息,即红、绿、蓝的亮度值范围为0~1,0代表全黑,1代表全白,八色位图片可以把每个通道0~1的范围分别细分为28即256个不同的色彩信息;而高动态范围格式可以包含32 bit的信息,其能包含的细节程度相比8 bit图片可以说是天文数字。此外高动态范围格式还可以记录超过1 (即纯白)的信息,这个功能在记录太阳、灯泡等高亮度光源时十分重要,因为相对于在画面中呈现接近亮度值为1的白色的一些非光源物体来说,这些光源的亮度值有时会远高于1[2]。
2.2 环境贴图(Environment Map,EM)
三维软件使用环境贴图的方法是把它映射到一个无限大的球体上面,然后让这个球体笼罩整个三维场景,从而达到影响光照的目的。我们都知道,地图是地球投射到平面上形成的,球体投影成平面会有投影误差,表现为地图赤道上的土地比例会小于正常比例,而两极在地图上看起来往往比真实世界要大很多[3]。同样,环境贴图也需要经过特殊处理后形成一张可以投射为球体的状态,保证投射后的比例是正常的。
3 HDR环境贴图在三维软件的应用
3.1 三维软件中使用效果
HDR 环境贴图在三维软件中的使用方式十分简单,以阿诺德渲染器为例,在场景中新建一个阿诺德天空,在颜色中加载HDR 环境贴图即可,随后可在强度栏中调节其亮度。图3 是笔者分别使用HDR 格式和JPG 格式作为环境贴图来为场景照明,并使用不同的曝光强度得到的渲染结果。通过观察这些图片能更直观地理解HDR 环境贴图可以为渲染带来什么帮助。
图3 分别使用HDR 和JPG 格式作为环境贴图得到的渲染结果
首先,无论是使用HDR 格式还是JPG 格式,都对场景形成了照明,在观察金属球对环境的反射的时候,可以发现场景反射在球体上的比例都是正确的,因为照片已经经过特殊处理,使它映射在阿诺德天空的球体上之后比例是正确的,这是 “环境贴图”的前提条件。
其次,当我们观察小球的阴影时,能发现HDR格式产生的光照投射出了更锐利的阴影,而JPG 格式则投射了更柔和的阴影。通过观察金属小球上的太阳反射可以知道,这是一个艳阳高照的晴天环境,所以锐利的阴影是更接近于真实的。形成这个区别的原因是JPG 格式只能储存0~1的亮度信息,它记录了太阳是白色的,所以亮度是1,这与场景中其他物体的亮度并没有明显差距,光照比较平均所以形成了柔和的阴影。而HDR 格式记录了太阳亮度是远超过1的[4],比场景中其他物体亮很多,于是形成了更真实的锐利阴影。
再次,仔细观察太阳在金属球上的反射时可以发现,HDR 格式产生的光照在降低曝光强度时,太阳的细节仍然可以呈现出来。而JPG 格式生成的光照在降低曝光度时,太阳整体变暗而失去了细节。这种现象的原理和上一段落是类似的:当JPG 格式记录了太阳和太阳周围一圈光晕都已经触及了1的亮度上限,所以当降低亮度时,亮度仍然会相同。而这张HDR 格式的贴图记录了光晕的亮度是3,越靠近太阳中心强度越高,最高达到了上千的亮度。所以当我们降低其亮度的时候,太阳的亮度可以等比例下降,所以在金属球上留下的反射则有了层级变化的细节。
最后,这张JPG 格式的图片也是通过类似相机HDR 功能处理后的效果,如果不经过多次曝光拍摄后处理,很难得到直拍太阳的同时还能看清逆光场景中的物体,也不会在金属球的反射中看清这些物体。
3.2 使用中的部分注意事项
通过比较能发现HDR 环境贴图为我们的渲染带来了真实性,细节的丰富性以及操作的便捷性都是其他方式很难做到的,但使用这种方式同样也会有一些缺点和可能遇到的问题。
学习贯彻十八届三中全会精神 着力推进水利投融资体制改革……………………………………………………… 汪安南(23.1)
第一,HDR 环境贴图能带来真实的光照和反射,所以当我们想要制作卡通风格的渲染或三维场景并不需要匹配贴图中的环境时,要十分注意场景中的高反射物体,也许不正确的反射信息会让你的画面“穿帮”。另外这种情况下光照也需要进行调整,尤其是光源的方向和角度往往是让光照契合的关键。
第二,HDR 环境贴图需要映射在一个无限大的球形上面,而真实环境中物体距离相机是不同的,当物体距离相机很远的时候出现问题的几率会比较小,但是当需要物体接受近处物体的反射时会出现一些问题。图4是笔者曾做过的一个合成项目,需要把一个高反射的飞船合成到实拍背景中,载入HDR 环境贴图后,飞船的窗户上已经有了真实反射,但是由于贴图上地面信息已经被贴到了无限远的球面上,不能直接得到地面给予飞船的反射。解决方法是如图4右边所示,新建一个平面并贴上了一张和场景地面一样的地砖贴图,然后放在飞船下方对应的位置,这样就能保证飞船接收正确的方位反射信息,最后关闭平面的渲染可见性让其仅影响反射。
图4 使用HDR 环境贴图制作影视合成
第三,当照明半封闭的室内场景时,如果只是有比较小面积的门窗可以让外部的光照照进来的话,建议不要使用HDR 环境贴图,因为渲染器在计算这种室内多次反弹同时还要运用HDR 环境贴图的情况时会表现得比较低效,虽然现在已经有部分渲染器加入了大门模式 (Portal Mode)来增加渲染速度,但是对于小面积的光照来说这仍然不是经济的方式。
4 HDR环境贴图的拍摄和制作方式
想要三维物体完美地融入场景中,使用现成的HDR 环境贴图有时不能达到理想的效果,往往需要在影片实拍地现场拍摄。制作HDR 环境贴图的方式有很多种,随着新技术的发展,将有越来越多新方法被运用,本章节将介绍几种较常见方式。
4.1 镜面球方式
工业光魔 (ILM)在1996 年拍摄 《星际迷航8:第一次接触》时第一次使用了这个方式。需要准备一台相机、一个长焦镜头、一个尽可能大的镜面球、一个用来固定相机的三脚架和一个用来固定镜面球的三脚架。
首先把镜面球和相机分别固定在两个三脚架上,把相机放在远离球面的地方用长焦距拍摄镜面球,尽量让镜面球充满画面,这样做可以尽量少地让相机或拍摄者反射在球面上。然后使用不同的曝光度拍摄一组照片,拍摄数量和曝光度并没有一个固定的数值,建议最少拍摄5张曝光度从-2到+2的照片,如果想得到更加精细的结果或拍摄场景的明暗差很大的话,建议拍摄更多照片涵盖更广的曝光度[5]。用这种方式在镜面球距离相同的三个不同角度拍摄三组照片,涵盖整个球体(图5)。
图5 《星球大战》使用镜面球拍摄HDR 环境贴图
拍摄完成后打开Photoshop,在文件-自动-合并到HDR PRO 窗口中载入一组图片,经过一段时间的处理后这些图片将被合成为一张32 bit的图片。随后把图片裁剪成正方形,仅保留镜面球的范围,最后用一款叫做HDR Shop的软件把裁剪好的3张图片转换成环境贴图。
这种方法优点是制作速度尚可,缺点是需要的设备较多,且最终得到的图片分辨率偏低。
4.2 相机直拍法
同样是比较传统的方式,但是能取得更好效果。首先要准备一部相机、一个广角镜头、一个三脚架和一个360度全景云台。
拍摄者要做的是要让相机朝四面八方拍摄足够的相片来涵盖360度的全景,这就是为什么需要广角镜头。理论上中等焦距的镜头也是可以实现的,但是这样需要拍摄大量的照片才能实现,而如果使用广角镜头的话可以拍摄更少的照片来节省拍摄时间。例如,行业内经常会使用8mm 的鱼眼镜头来拍摄,这种镜头可以覆盖大概180度的视角,为了保证准确并减少畸变,大约只需要拍摄6张照片就能覆盖360度全景的范围。
另外拍摄时注意相机要围绕它的拍摄节点(Nodal Point)来旋转,这样能避免旋转时轴心不居中而形成的错位。而相机的节点一般是处于镜头中的某一个点,此时就需要用到360 度全景云台,比如行业内最流行的有Nodal Ninja云台。通过计算相机和其镜头的节点位置,然后通过云台的刻度固定在相应位置,如图6所示。在拍摄阶段,注意每个机位同样要拍摄至少5张不同曝光度的照片,然后旋转相机继续拍摄,直到照片可以涵盖全景。
图6 使用全景云台固定相机并环绕拍摄
拍摄完成之后需要使用软件把这些照片拼接成全景贴图,目前这方面较成熟的软件叫做PTGui,把这些照片导入PTGui即可快速计算出HDR 环境贴图。
这种方式是目前影视业使用广泛的方法,原因是能得到最好的效果,使用专业的单反相机拍摄多张照片能获得清晰、高像素且准确的贴图。而缺点就是制作方式繁琐,且成本比较高,即使你是一名摄影爱好者,已经拥有了相机、镜头和三脚架,全景云台的价格也是同样不菲,此外还需要为PTGui软件支付一笔费用。
4.3 360度全景相机拍摄
随着近年来VR 技术的发展,360度全景相机技术越来越成熟,这也为行业带来了第三种制作HDR 环境贴图的方法。相对于前面讲到的两种传统方式,这种方式更简单。
首先需要一个全景相机,目前的专业品牌有Theta,以及一台三脚架。把全景相机固定到三脚架上,只需要一次拍摄,相机的前后两个快门会同时摁下,系统会自动计算拍摄下的两张照片拼接成一张全景照片。同样需要拍摄多张照片来获得不同的曝光度,然后使用Photoshop的合并到HDR PRO功能合成。
这种方式得到的效果虽然不如相机直拍的效果好,但是考虑到花费的时间成本较低,也是一个很好的选择。这种方式同样需要一定的成本,廉价的全景相机所能调整的曝光度、光圈等数值很有限,成像效果也很一般,而专业的全景相机也是价值不菲的,但可以有更好的拍摄效果,且支持一键拍摄多张无损照片。
4.4 使用智能手机制作
成本最低、最便捷的拍摄HDR 环境贴图方式只需要一部智能手机和一台三脚架就可以完成。在手机上下载HDReye,把手机固定在三脚架上,根据软件提示环绕拍摄51 张照片,直到覆盖全景范围,每次拍摄软件会自动记录五张不同曝光度的信息。完成后软件将自动计算并把结果发送到你的邮箱中。考虑到金钱和时间成本,这种方式得到的效果令人十分满意。
以上四种方式都是拍摄真实HDR 环境贴图的方式,此外还可以使用电脑软件足不出户完成制作。例如一款叫做HDR Light Studio的软件可以模拟出影棚中的灯光环境,可以根据需要自由地添加光照,并在预览窗口看到实时的渲染参考,自定义完成后可以输出为HDR 格式。当不需要很真实或特定环境的光照和反射时,这是一种可以考虑的方式。
另外,现在大多数渲染器已经支持渲染出360度全景图片了,如果已经有了一个不错的三维场景渲染效果,可以直接渲染出全景图片,保存为EXR格式,也同样可以把它用作HDR 环境贴图。
5 结论
本篇文章介绍了HDR 环境贴图的工作原理、使用方法、注意事项和几种不同的制作手段,影视后期工作者可根据具体项目需求进行制作和运用。HDR 环境贴图在影视后期和三维动画中都是必不可少的工具,合理地运用将会大幅提升设计师的工作效率和影视动画的效果,在某些特殊项目中,根据自己的需求制作HDR 环境贴图能让作品细节更上一个台阶。HDR 环境贴图的技术已经趋于成熟,随着虚拟制片技术给行业带来的革命,未来会继续向更高的自定义性和可调节性发展,影视后期技术的快速发展将会造福影视工作者和观众。
注释
①RAW 格式也能储存比普通图片格式更多的信息,但因为只进行了一次曝光,并不能像HDR 一样储存高动态范围的信息。不同的设备储存RAW 格式时保存的文件后缀会不同。