你说的是这个吧。我来解释一下。
先说hdri,我尽量尽量用白话说,让大家能看明白。
首先hdri和hdr是一回事,叫做高动态范围成像,英语: 。
意思就是说hdr图像的白和黑要比你肉眼看到的信息量大得多。
举个简单例子,一张白纸在强光照射下,我们看到的是白色,同时强光下和白纸同框的灯泡我们看到的也是白色。但实际上,灯泡比白纸的白还要白。
意思就是如果你拿一个相机同时对着白纸和灯泡拍摄,逐渐缩小光圈调低曝光速度,你会发现白纸逐渐变灰,但灯泡的那个白依旧很白,这就是说灯泡的白已经超出我们肉眼可以看到,和相机可以拍摄到的光度范围了。而hdr做的事情就是尽量把这些超出的部分记录在内,以此达到一个尽量接近真实环境的光照氛围图像。
那么如何采集呢。
我们的相机在拍摄每张照片时采集到的数据有一个局限。打比方,我们设置这个局限的区间为0-255。0代表最低值黑,255代表最高值白。
但实际光照可能达到了-255到500,那么我们采集起来有意把相机调的过曝,这时候我们就可以把-255的图像推到0,这样-255-0就被推到了0-255,于是我们就可以采集到了本来0以下暗部的信息。同理,如果我把相机调的暗一些,我们就得到了本来255以上的信息。这样三张照片同时交给软件,告诉他哪些是255以上的是干嘛用的,哪些是0以下的是干嘛用的,他就会合成一个高动态图给你了。
采集样本
hdr成图外观上和普通图片一样,因为过亮和过暗你还是看不到,只是机器知道。
这个干嘛使呢?
在3维制作中如果一件3维物体想让他看起来真实,就得有真实的光照、阴影和来自真实空间的色彩来进行反射。而高动态图刚好具有尺度足够大且接近真实的光影信息,色彩信息。于是他就成了提供反射和光照的不二之选。
所以理论上讲,不必拍圆球,拿相机直接拍摄得到的hdr图片也是可以当作照射物的。但是我们的物体是3维的,所以我们需要一个可以包裹住物体的面来给我们的物体提供每一个角度的反射/照射信息。于是,我们拍摄圆球,再把圆球反向拆解
180度的全景图片
玩过vr的应该这种图很熟,他就是一个全景图,当然,半球就是半个全景图。两个半球拼起来,把他导入场景中,他就可以合理的围绕在你的物体身边了。
然后他本身又是hdri,又是全景图,这不正是完美的真实环境的真实光照的真实写照么(多读几遍就不拗口了)!
剩下的工作,就是导入到3维场景中参与光照,渲染
最后成品
hdr测试
最后总结,综上所述,我们依靠采集多张曝光不同的图片,后期合成的图是高动态图hdri,而为了包裹物体我们得使用球面展开后的得到的全景图。
所以,其实我们在三维中使用的这张图片全称应该叫做高动态全景图才对。
后记:
其实玩过全景图的摄影圈老法师门都懂,最好的全景图应该是拿个脚架,用广角单反,一个角度一个角度拍完拼合起来的图。那么再加上我们需要高动态,每个角度再拍5张上下,最后一个高动态图得用好几十张甚至百张照片拍完后拼合。
所以如果3维空间中的物体并不是需要详细细致的反光信息的物体(需要详细反光信息的如镜子,高抛光金属体,汽车)的话。反光球提供的反射色彩和光照信息足够给普通物件提供光源和反射信息了,而且会非常高效快捷。
但是...在9012年的今天,更高效更完美的解决方案已经诞生,就是我们大家经常玩的全景相机。啪啪几下按,拼合什么都搞好了,回去只需要在融合成hdr就好,而且贼清晰。
甚至现在无人机也集成有全景拍摄功能,调成手动档,几个曝光挡拍一遍也比反光球来的好。
以上。