- 最后登录
- 2014-2-11
- 注册时间
- 2013-11-8
- 阅读权限
- 20
- 积分
- 170
- 纳金币
- 29
- 精华
- 1
|
工业光魔公司(ILM)在《加勒比海盗》的工作中为故事片中计算机生成的人物建立了一个新的黄金准则。为了逼真地渲染大卫·琼斯和他的船员们,这项技术的发明代表了大量渲染技术在制作中的汇合。为了实现上述完美真实感,工业光魔和皮克斯开发了一种革命性的技术,使用基于点的近似环境遮蔽和色溢,而没有采取光线追踪。这种基于点的渲染技术与内部次表面散射工具的细化相结合,使大卫·琼斯(和船员)得以成功的渲染。
次表面散射技术在制作中的杰出贡献
工业光魔为准备制作次表面散射做了大部分的早期工作,以Henrik Wann Jensen的研究为基础。Jensen说,次表面散射模型包括两种散射:单次散射和漫散射。
单散射模拟了光散射在单一时间介质内部的效果。漫散射计算“漫射近似值”。在这两者中,单次散射最简单、计算量最少,正因为这样,它最先用于制作。该技术在《星球大战II》中用于数字替身,但用在了最后那个镜头,看起来效果还不错。因此,单次散射在《绿巨人》专题中获得良好开端。由于单独使用单次散射类似于镜面反射,所以抖动散射条目来模仿漫散射的效果。
散射和漫散射的首次完整实现是在家养小精灵Dobby的制作上(《哈利·波特与密室》2002)。这使得Hery、Letteri和McGaugh发明的z-buffer技术闻名于世,在2003年获得了奥斯卡技术成就奖。
这种技术效果不错,但有局限性。首先,需要大量的设置和跟踪簿记来记录必备的z-buffers。例如,一个皮肤网格要有自己的z-buffer,对于外部几何体(如软骨和服装)还需要额外的缓冲区。考虑到基于图像的照明扩散,也许更大的限制是所有来自深度图上的CG灯光的照明(有助于SSS)要求。这也禁止了光线跟踪和全局照明技术的使用,而这两项技术已逐渐普遍用于真实感照明。
这个问题的解决方法是将微多边形的阴影网格的高速缓存写出来,并附上他们辐照度信息,然后在该缓存中运行次表面散射的扩散计算。这种方法充分利用了REYES算法的自动切割,使照明和阴影都有效为辐照度服务。这项技术首次亮相是用于《终结者3》,并在此之后的制作中一度作为主要散射技术。
除了散射运算的复杂性,将输入参数合理地设置到次表面散射计算中也很难。大多其他照明要求都有直观的调节参数,最终返回到一个浮点值,通过在彩色地图上倍增浮点值,很容易调节。但是次表面散射的计算返回至一个色彩值,并且由非直观的参数驱动:反照率与平均自由程长度。现在的问题变成了为了得到有真实感的散射肤色,如何正确编写输入参数。为了解决这个问题,ILM发明一种被称为“纹理反转特技”的方案。
发明纹理反转特技是为了将次表面散射融入着色流水线,使纹理艺术家和视觉开发进程分裂最小化。由于纹理艺术家用于创建适用于标准BRDFs的漫反射纹理贴图,当初是想用这些漫反射纹理贴图作为出发点,来确定SSS参数。这种“特技”是假设漫反射贴图是在均匀的照明条件下进行,且已经是散射计算的结果,然后反转散射计算,再返回去研究输入参数。从本质上讲,这种技术不为漫反射纹理贴图提供照明,将起始参数应用于SSS计算。
大卫·琼斯和船员的挑战
在创造大卫·琼斯和他的船员时,当Aaron McBride和Crash McCreery的概念设计展示出来时,ILM所面临的巨大挑战迎刃而解。表面的细节和复杂性需要新的方法来设计和渲染人物。为了实现复杂的几何细节,将Pixologic的Zbrush集成到制作流程中,提供高分辨率的雕刻和置换贴图。
不投入成本,这些细节都无法实现:建模部门将大卫·琼斯完全替换成为一个超密度的模型。为了让该人物更具真实感,我们必须采取全新的办法去渲染这个人物。像家养小精灵Dobby和Lemony Snicket中的宝宝这些早期角色都是在环境遮蔽和辅助照明(色溢)的环境下,成功进行了光线追踪。这种技术也在大卫·琼斯的超密集网格上进行了测试,但制作费用非常昂贵。例如,环境遮蔽条件下光线追踪需要10小时以上,色溢根本无法完成。
英伟达凭借其完美的时间控制,在无光线追踪、近似环境遮蔽的条件下在GPU Gems展示了其先驱之作。看到了发展的潜力,ILM与Pixar的RenderMan的开发团队密切合作,为在《加勒比海盗》上使用PRMan技术。在测试中,使用这种新的近似基于点的环境遮蔽,使原本闭塞环境下的渲染时间由十几个小时降低到了两个小时。如果照明可以并入点云(见于基于点的环境遮蔽和色溢),作为福利,基于点的色溢就是免费的,此前,色溢在此类场景中是无法实现的。这项技术和建模、纹理、照明部门一起,使大卫·琼斯和船员的形象得以成功实现。
另一大挑战是创建大卫·琼斯的CG眼睛。最初他们不想给大卫和船员们创建CG眼睛。演员的真正双眼在拍摄时用了黑色化妆和追踪标记,以防CG眼睛无法表现的更逼真。尽管诚惶诚恐,视觉开发团队首当其冲,将眼睛与其他渲染挑战同等对待。双眼的渲染最终用了一组标准的渲染技术,栩栩如生。大部分角膜镜头,并没有使用任何光线跟踪反射,但依赖于周围灯光反射的高动态范围图像,被反射遮挡的预设通道减弱(请参见反射遮挡)。然而,角膜折射的每个镜头都需要光线追踪。巩膜(眼睛白色部位)使用了用次表面散射,将颜色推向红色端,有足够的空间按需要调整饱和度。
对大卫·琼斯进行Uber着色
对大卫·琼斯及船员进行着色的起点是由Pat Myers开发的Uber材质球。Uber材质球包含了调节最终视觉效果的所有参数。这种单片着色器虽然完整,起初只是为单一类型材料着色而创建,然而在《加勒比海盗》中,各个人物都进行了表面细分,从网格生成多样化材料的混合,比如海藻、珊瑚、藤壶以及皮肤本身。如上所说,ubershader可以分别调整,单独为每种材料着色。然而,在一个细分曲面网格上渲染所有这些材料,需要做出一些修改。我们重新编写了着色器,可以处理四种材料类型:皮肤、衣物、藤壶、和贝壳。将庞大的参数块复制四次,所以每种材料都有相同的调节参数。然后着色器的核心进入一个循环,循环迭代结束时,用图像映射将不同材料类型混合,在不关联特定材料的情况下开合计算区域。
材料内部包含一个使用了专用DSO的强大次表面散射的组件。事实上,为了漫射照明,着色模型仅依赖于次表面散射的结果,没有朗伯(Lambertian)或其他漫射措施。如上文所述,调节次表面散射是因为输入参数非直觉绘入地图才变得复杂的,输入参数的自由深度只有3mm的进入通道。通常,保持参数不变最简单,但用反射率图反转(如上所述)来保证表面的变化一致。
在SSS的顶部是几层Cook-Torrance 高光区:其中一个用于调节湿度(参见实现自定义双向反射分布函数BRDF)。最后,用Zbrush制作的32位置换贴图替换密集网格(参见Displacement II)。渲染流水线完成以后,是10个二次输出和AOVs,将这些交给合成部门就可以了。
工业光魔布景
工业光魔在布景中采用了业界标准做法,这也帮助了先驱们,捕捉色度和灰色参考区域及高动态范围图像。最小的一组灯光参考是一个灰色的镀铬区域。除此之外,时间和访问许可、高清HDR全景图都是用SPHERON摄影机拍摄的。
从布景中捕捉到的参照物,直接用于照明流水线。为了更好的与背景相匹配,光的位置和性能都是一个镜头一个镜头的逐个处理,当然也要根据灯光组和特效总监的判断进行处理。基于图像的照明(IBL)现在经常用于照明设置,与新的基于点的次表面散射集成也很好。用到IBL的地方,关键的光线及次要光线是分离的,关键光线都被用程序从高动态范围图像中涂掉,并用CG光线取代。余下的高动态范围图像提供由环境遮蔽衰减的辅助照明(见于Siggraph 02中关于全球照明的制作)。将关键光线用CG光线替换增加了直观性,可以最大限度的控制灯光的位置及阴影的投射。
将基于点的渲染效果加入流水线,使制作流水线中捕捉到的布景参考得以更充分的利用。此外,使用基于点的技术,以前无法进行渲染的场景,现在可以任意添加修饰进行渲染,包括次表面散射、环境遮蔽和色溢,所有这些都无需依靠光线追踪。总之,基于点的渲染技术的出现,为制作渲染提供了一种更加先进的可能性。
|
|