罗运毛 汪涛
【摘要】使用HDR图像来照亮场景,已是越来越受欢迎的方法。布光在制作三维动画是一个非常复杂的事情,经常要打几十个甚至上百个灯才能得到好的结果。如今只需要一张照片就可以解决照明问题。时代的进步,机器的速度有了成倍的增长,现在每个人都可以用GI了,理论上已经不需要再手动布场景中的光。你可以选择手动的方式布光设置更接近真实的光源,同时也可以选择HDR贴图来照亮你的三维动画场景。
【关键词】HDR灯光;GI通道;反射
一、HDR的概述
(一)HDR的定义
高动态范围图像(High-Dynamic Range,简称HDR),与普通的图像相比较,它可以提供更多的动态范围与图像细节,不同的曝光的LDR(Low-Dynamic Range)图像,利用不同的曝光对应的LDR图来合成所需要的HDR图。
如上所述HDR称为高动态范围,什么是高动态范围,如现实存在的亮度差,最亮的物体亮度和最暗的物体亮度比为十的八次方,而人类的眼睛所能看到的范围是十的五次方左右,但是一般的显示器,照相机能表示的只有256种不同的亮度。我们可以用不同的曝光度多拍几张照片甚至几十张,曝光这些照片依次增大,随着曝光的增大,照片会变亮,换一个角度说,照片的细节将由深变浅。
根据上述的原则,如果相机拍了很多照片合成,对比图片效果的大小一般是四的十五次方。这样问题就出现了,或者更高数量级的亮度只能存在电脑里,而一般的显示器只能表示个亮度数量级,用256个数字来模拟二的十六次方所能表示的信息,这种模拟的方法就是HDR技术核心内容之一,学名叫Tone-Mapping。用色调映射压缩后,合成的HDR图像就能很好地显示,可以提供一个令人影像深刻的图片。
(二)HDR与LDR的区别
我们所说的低动态范围图像(LDR),它所指的是标值为整数类型存储图片。而HDR指的是以浮点值型存储图片。整数和浮点是计算机编程里所说的概念,也就是数学中的整数和小数。这些超出了显示器显示范围外的数据因为不能被我们肉眼看到。那这些数据我们能拿来干什么呢?HDR图像将主要用于摄影和三维动画两,主要的一点是它的动态范围足够大。当我们用相机去拍摄的时候,如果你直接拍摄天空,那么太阳和太阳附近,由于亮度太大,得到的亮度信息就会不够完善,也就是曝光过度了。如果你使用HDR技术拍摄天空中的太阳,虽然直观效果也白一块,但是在软件部分,我们可以通过调整曝光,所以隐藏在纯白色的片内的亮度信息逐渐显露。如前所述,HDR图像可以是一个非常广泛的信息存储,有很多在你的屏幕上的信息不能被直接观察到,只能通过调整曝光观察。
虽然人的肉眼无法直接看到这些被隐藏的图片信息,但这些信息是真实存在的。虽然肉眼无法直接看到但是在后期软件中通过调整曝光值是可以观察到的,特别是暗部和亮部的信息,在制作三维动画时我们就可以利用这些信息来照亮场景。
二、三维动画制作中HDR图的应用
(二)HDR贴图的制作
用普通的相机拍摄原始照片材料,为了最尽可能保留丰富细节的场景,制作HDR格式图片需要拍摄4到8张一样的场景,每张图片用不同的曝光度进行拍摄,最后将所有照片在后期软件中进行合成。至于调整曝光的方法,如果手动调整光圈那么景深将会发生变化,如果改变ISO、又会产生很大的噪点。所以应选择改变快门速度调整曝光。改变快门速度有两种方式。第一可以转换到快门优先模式,使用自动包围曝光,二是进入手动模式,你不需要进入菜单设置这样可以更快、更准确,拍摄4张至8张。使用手动对焦的方式,以避免焦点发生变化。将ISO值调到最低,再将光圈数值调到最大。最好将相机放在三脚架上有用遥控拍摄这样可以保证场景完全的相同。格式用RAW以便保留照片细节方便后期。
(二)关于创建HDR贴图照明环境
HDR贴图照明环境的建立打开Maya,模型,在渲染设置切换到mental ray渲染。打开渲染设置点击image based lighting,在图像文件夹中创建全球环境为HDR全景图导入需要的场景照明环境HDR图片。
三、HDR技术使用过程中面临的问题
(一)GI通道噪点的产生与原因
HDR图不能够直接对三维动画场景进行照明,需要根据GI操作来照亮场景。大部分的时候,因为HDR图像内容十分丰富,会使得GI通道产生很大的噪点,一般情况下可以通过提高精度的方式减少噪点的产生,但是这样一来就会很大的增加渲染时间。
GI决策模型中每个点上的灯光颜色和亮度,将首先从相机的像素发出的光线,当光线击中像素会以半球形状爆开向外散射,这些光线射到场景里面找到环境亮度和色彩信息结束后会将所有的光线信息收集,除以向外散射的光线,会得出一个平均的数值。这个平均值就是这个像素的GI信息。
对于对比度稍大的HDR图肯定有一些地方突出,比如说太阳。太阳在图片中的比例很小,但却格外明亮。当有射线射到太阳时,会增加平均亮度的数量。当采样不高时,会出现在采样光线全部射空。一条射线都没有射向太阳,这样一来这个像素点的亮度就会比较小。
由于采样是随机的机制,有时候即使采样值不高也会有射线射到太阳。这时候这个像素点所得到的亮度平均值就会比较亮。当GI采样低时这个每个像素点所射出的射线就少,那么射中太阳的概率就会变低,但也有射中太阳的可能性。因此你渲染出的GI通道就会产生噪点。
(二)GI通道噪点的解决方案
从它的原因,在一些地方的场景反差极大,区域小,这就很难射中。首先我们把HDR图进行模糊处理,减少图像区域与区域之间的差异,这样图片的亮度信息就更加均匀高亮地方的面积也会变大,射线就更容易击中。所以,当你能保持GI精度不高,仍然可以得到一个很好的GI通道。因为GI影响的是漫反射效果,漫反射又对光线的细节信息不怎么敏感。只要我们有一个太阳在同一方向,亮度保持不变,那么漫反射的效果就基本不变。
由于HDR图进行过模糊处理,在场景中有反射物体的时候,渲染的图片中反射也会变得模糊。当需要HDR图片作为场景的背景时背景也会变成模糊的。这时就需要打开渲染器自身的设置了。将背景反射和折射设为清晰的HDR图以及将GI通道使用模糊的HDR图。
可以看出消除噪点,需要很高的精度模糊反射。但渲染时间会迅速上升。有没有类似的只是一种微妙的方式一举两得?当然有,精度为32时有噪点主要集中在白光的地方,实际上白色的地方反射的是太阳。这时最大的难题是太阳光问题。这里,有一个很巧妙的方法,既然产生噪点的是太阳,那么我们在图片上直接把太阳给抹掉。这样看起来好像没有灯光效果。但是我们可以在图片上相同的位置,放置一个平行光,或太阳节点,模拟太阳,只要知道位置,电脑能自动计算模糊效果非常完美。
四、HDR技术在制作三维动画中的优势
(一)HDR对GI和漫反射的影响
在三维动画制作中为什么会选择用HDR图来对场景进行照明,而不是用传统的JPG图?我们将一个HDR图像,在PS中保存一个JPG版本,原来的HDR图像和JPG版本分别使用进行照明对比差异。可以看出JPG图像的光照渲染效果比较平淡,缺乏细节,完全没有保留原图像色彩信息。对比后HDR照明效果好很多,在三维场景中只有一张HDR图照明也出现了阴影,颜色保留的也非常丰富。
(二)使用HDR技术出图的优势
使用HDR图照明三维动画场景明显优于LDR图片。同样的,在渲染图片时也可以选择将图片格式输出为HDR图片格式。保存为HDR格式的图片会更真实的保留原始的数据不会有丢失,更有利后期的调整。而Jpg的图片会丢失图片很多细节。