查看完整版本: ILM揭密加勒比海盗2最新渲染制作技巧

黑不白 2007-1-25 02:58

ILM揭密加勒比海盗2最新渲染制作技巧

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g1.jpg[/img]

[size=2][b]再次聚焦《加勒比海盗:聚魂棺》
   ——工业光魔工程师Christophe Hery揭密该影片制作中所研发的最新渲染技巧[/b][/size]

[b][color=#ff0000]【火星时代编译,未经授权不得转载】[/color][/b]很多大卫·琼斯分享论坛的会员们都纷纷在论坛上发帖询问工业光魔(ILM)究竟是如何对大卫本人以及他那半人半妖的海盗船员们进行渲染的。这里Christophe Hery(工业光魔研究开发部工程师)为我们一一解答。
  Hery于1993年的时候加盟工业光魔,一直担任该公司的高级技术指导。在过去的四年里,Hery分别在巴黎的BUF、汤普森数字图象(Thompson Digital Images)工作,也曾在Label 35卡通工作室担任过研究开发主管。
  到了工业光魔,Hery就担任了《再生侠》的联合视觉特效总监、《无头骑士》的高级技术指导和《星球大战前传II-克隆人的攻击》、《侏罗纪公园3》等电影的CG总监。目前,作为一名研究开发领导,他正潜心研究皮肤的渲染和光照等技巧。
  在2003年的时候,Hery因为使用皮下散射技术开发了皮肤渲染和其他透明材质的实用方法而获得了技术成就奖。他现在为某个项目所制作开发的工具和进程与制作表情丰富的数码克隆人有一定的联系。
  与此同时,2006年的奥斯卡竞赛也已经拉开序幕。参与视觉特效评选的候选名单已经于今年12月15号公布,《加勒比海盗2:聚魂棺》成为佼佼者。迪斯尼现在已经发布了DVD,你可以使用画面定格观看特效了。为了替“海盗们”拉票,工业光魔专门开发了一个网站[url]www.ilm.com/theshow/[/url],上面全是有关海盗制作的信息,你如果感兴趣可以登陆。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g2.jpg[/img]

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g3.jpg[/img]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g4.jpg[/img]

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g7.jpg[/img]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]据说您为海盗的制作专门开发了一些新的渲染技巧是吗?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
HERY:我们使用的软件是ZBrush。它的功能实在是太强大了。在建模的时候,你可以自己决定在顶
点、置换或者是几何体上放置些什么,也可以决定是否使用几何体(geometry)和纹理贴图来绘制细节。但是,由于置换、凹凸贴图、纹理的关系,而导致几何体计数的数量相当庞大。我们也就有了很多的CV(curve vector)。即使这些人物在荧幕中的空间只占到了3个象素左右,他们也是主角,我们不想因此而丢失任何细节。但是通常我们会渲染超出预计范围内的顶点和几何体。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]这样就会非常浪费时间了。[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
这也就是说封闭通道(occlusion passes)等等任何以点为基础来取样且通过光线追踪或是皮下散射
制作完成的东西,它们的速度都会非常地慢。最后,我们只能计算出一个象素中所有几何体的总和数,但是这项工程很耗时,而且得不到什么结果。在一个象素上使用这么多的光线实在是太浪费了。RenderMan引擎中含有一些自动的光线追踪LOD(细节标准),但是这还不够,它决不可能移动几何体,要想移动几何体只有建模师才能做到。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]你们使用了RenderMan?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
是的,如果使用其他光线追踪器,会非常的慢。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]CGS:那你们怎么办?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
我们和Pixar工作室一同讨论了这个问题,他们实现了一种新的技术,这种技术运行于RenderMan,
技术的源头出自于NVIDIA GPU 电脑 Gems 2的一篇论文里,并且在将此技术公诸于世之前就将DSO交给我们试用。当我们将它运用到渲染中以后,本来应该花上12到13小时的渲染工作时间缩减至3到4个小时,我们用了四分之一的时间却渲染出了更好的效果。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]这项技术是如何起作用的?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
是这样的,当你使用封闭通道的时候,你会在法线的周围分布光线。你让所有的几何体相交,再计算
它的总和,光线追踪的平均值就变成了封闭数值,于是在这种情况下所有这些光线的平均值就变成了你的occlusion。
   你最后不得不发送很多的光线来避免丢失几何体的细节。但是使用这种办法,我们要事先根据点云层,设置我们想要的密度,导出几何体,就像在做散射的时候一样。接着,就不再进行光线追踪。这些点会由内部描绘几何体。
  试想一下,现在在每个交点处都有一个圆形的平面而不是B样条曲线的线框。这是一个扁平的圆面,它沿着法线的方向和表面正切。
   就内部而言,每一个圆面都代表着某个方向。你可以把它称之为角度。现在你可以一边分析一边制作光线追踪了,因为你可以从这一点出发,然后你便会发现它是否会和其他的圆面相交。你知道如何能够更快速地制作圆形平面的光线交叉。
  因此,你可以在脑海中将这些圆面有机的组织起来,然后使用他们很快地制作一个假的光线追踪,这并非真的去动手制作,而仅仅只是在分析罢了。这类似于一个近似值。它比起真的制作会让你有种非同一般的感觉,并且它的一个优势就在于没有任何的噪音。
   你无需通过任意发射光线利用光线追踪来制作occlusion,相反你可以在这个点的周边精确地发射假的光线。它们不会有任何的改变,速度更快并且不会有噪音。我需要一改我开发皮下散射技术时的风格了。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]通过什么样的方式?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
之前,我想要移除两个点云层——高模和低模——在两者之间做散射。但是对于海盗的制作,几何
体非常密集,以至于,低模和高模一样密集。因此,我只好移除其中的一个,然后由内部衍生出另一个的分级结构。 何体非常密集,以至于,低模和高模一样密集。因此,我只好移除其中的一个,然后由内部衍生出另一个的分级结构。


[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g8.jpg[/img]

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]请谈一谈全局照明好吗?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
使用这种以点为基础的方法制作环境光吸收(ambient occlusion)的另一个好处就在于我们
幸运低获得了反弹全局照明效果。一旦你将点云层移动到圆面上时,你便会将由外界光源直接照射产生的平行光照明同时储存在圆面上,所以,如果你采用假的光线追踪,你就无需再去制作镜头反射(bounce)的效果了。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]那么有没有什么不利的因素呢?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
因为这是一种零散的表示法,因此你有可能会得到低频的斑点,而且这些东西看上去好像在游
泳,但是我们并没有得到平时使用光线追踪时得到的一些非常不错的微粒。
  能把这些海盗制作出来真是个奇迹,即便是在Zeno中,几何体也是非常繁琐的。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g5.jpg[/img]
[b]最后一个问题。你是否为制作海盗而编写过一些新的RenderMan渲染器?[/b]
[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g6.jpg[/img]
我们使用的都是小块模型,因此渲染器和特殊渲染道具的分配并非那么容易。在过去,眼睛、嘴巴、
耳朵被分离开来,这样便可以分配特殊渲染道具。但是对于海盗们,我们却有一个复杂的模型、一个网格,还有所有的细节,但是他们还需要衣着、海贝壳、藤壶、皮肤触须等等材质。Pat Myers开发了一个ubershader,里面带有很多的道具。在贴图的基础上,它可以自己产生触发事件,某一个地方触发后生成皮肤,下一个地方生成衣着,再下一个生成藤壶类海生物。
   即便是使用我们以前的管道,使用以前的方式建模,这些都是无法实现的,因为一些几何体是通过置换得来,在渲染之后才能存在,而且也无法将材质分配给CVs。我们不得不通过贴图来实现。

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g9.jpg[/img]

[img]http://www.hxsd.com.cn:8080/images/News/2007/1/19a/pt309mxm18g10.jpg[/img]
页: [1]
查看完整版本: ILM揭密加勒比海盗2最新渲染制作技巧
查看完整版本: ILM揭密加勒比海盗2最新渲染制作技巧