干货 | RenderMan挑战渲染上百级光线追踪+上百万量粒子

发布日期: 2018-01-23 09:43:11 阅读量:

RenderMan 渲染 粒子

《鹬》是一部令人难以置信的电影,会让你钦佩渲染可以做到这么漂亮。皮克斯的每一部电影都是以故事为核心,RenderMan的渲染能够使每个故事以更加高清的画面呈现给观众。 

RenderMan RIS架构带来全新的工作流程

 

《鹬》讲述了一只饥饿的小矶鹬(sandpiper,一种海鸟),努力克服恐水症,到海浪肆虐的沙滩上觅食的故事。这个故事本身对于皮克斯的团队就是一个挑战,他们必须迎接挑战、克服重重困难,到达充满阳光的沙滩。

 

最开始,这个项目发起于皮克斯的插件研发部门,他们的责任是研发一些尖端的技术来呈现皮克斯电影的超凡画面。《派珀历险记》也是唯一一个从开始使用REYES架构然后转到RIS架构的短片作品,研发部门最开始采用的是REYES架构中的混合光线追踪器,得到比较满意的结果,但当他们开始使用RIS架构的时候一切都变了。

 

“我们从RIS得到的图像是非常棒的,角色和场景结合的很完美,就像他们在同一个世界一样。”Erik Smitt(摄影导演)说到,“我们不再需要对每一个角色进行光照计算,只需要把它们合成在一起,这是一个很了不起的操作,使我们更快的完成了项目。” 

 

Houdini预览和最终效果

 

制作沙滩上的沙粒,一般会采用给每粒子赋予置换贴图和材质,但是,场景的细节要求近景的置换贴图尺寸增加到原来的32倍,这样会导致置换的效率很差,而使用RIS架构,可以直接创建数以千万计的沙粒。

 

场景解算和渲染的每一个沙粒

 

》中的每一个镜头都是由数百万的沙粒构成的,而每一个沙粒都有差不多5000个面,没有用到置换贴图,都是Houdini里面程序生成的模型。沙粒最终是由RenderMan渲染出来的。

 

每个沙粒都像真的一样

 

沙粒最开始是在Mudbox中雕刻出来的,然后用Houdini的泊松分布将沙粒转换成沙滩的模型,并在模型的顶层模拟了一层效果非常棒的沙粒,同时与相机的视角相结合使得这些沙粒的密度更加自然。

 

泊松分布

 

沙粒的多样性得益于RenderMan Primvars这项技术,它可以驱动材质进行“干-湿”的转换,团队仅用了12个沙粒模型就完成了对全部沙粒的控制。

 

沙粒广泛使用GEO实例化和点云的技术,这些数据都是由皮克斯的USD(通用场景解释器)进行管理的,这是个通用的格式,可以把Alembic等格式转换这种通用格式,从而实现对复杂场景的高效制作。

 

“我们终于可以用非创造性的方式来完成我们镜头了。”

 

“渲染这么庞大的资产是一个非常大的挑战,但是我们非常成功的完成了,有些场景的光线追踪深度甚至达到了128这个级别,这在之前的技术上是不可实现的。渲染的结果就像是真实的一样,不过也同样消耗了巨大的计算机资源,庆幸的是RIS架构可以撑得住。”

 

沙粒的自然光来自于光传递的解算

 

沙地的颜色是从一个阴天的沙滩上所拍摄的照片上提取的,团队还制作了很多不同的材质,用于各种各样的贝壳、石头和可以折射的玻璃。这些材质还必须表现干的、湿的效果,不同层次的颜色,来模拟出令人信服的沙粒。

早期沙粒外貌

 

另一个重要的挑战是解决马赫带,它是一种光学上的幻觉,会夸大细微的变化,出现在不同亮度界面的分界线上,呈现出令人不愉快的画面效果。制作团队发明了一种可以自定义的抖动方案,是画面的马赫带自然过渡。

 

“我们可以信赖RIS的光线跟踪模型。"

-Erik Smitt, Director of Photography

 

实际的沙滩会呈现出很多不同的样子,创造这些不同的沙滩是一个很大的挑战,制作团队最后分类了三种典型的沙滩类型:雨天、潮湿、干燥。

 

沙滩类型

  

显性约束用于赋予沙滩上沙粒粘性,而破碎约束可以让其产生破碎的效果。在Houdini中用网络处理好沙粒后,制作团队可以区分这些不同沙滩在雨水量上的细微差别,使得模拟动画可以更加先知先明。

 


沙粒的张力和簇力

 

浪花和泡沫使用了Houdini的FLIP技术。制作团队制作简单的海浪模型再去制作特效级别的海浪并且调整厚度,对一些特定的区域甚至采用了高级别采样的FLIP模拟。

 

海浪模拟解算

 

泡沫使用了混合材质,可以达到100级的光线跟踪的反射深度,使泡沫的内部产生折射的光照效果,展现了泡沫高度的真实性。“我们可以信赖光线跟踪的这套技术来实现超真实的海浪和沙滩,RIS架构真的可以完成那些要求极端的任务。” Erik Smitt说道。

 

泡沫模拟解算

 

皮克斯自研泡沫插件GIN,是通过幂函数分布的方式来创建泡沫,每个泡泡都具备表面张力。粒子之间的距离作为密度可调整泡沫的破裂和堆叠程度。

 

泡泡制作分解

 

干燥的沙滩和被水弄湿的沙滩会出现半月效果,为了解决这个问题,制作团队复制了整个沙滩的模型,并用动态变化的混合折射率,在干燥与潮湿的沙滩边缘进行过渡处理,这样就消除了错误的效果,获得了更自然真实的水的效果。 

渲染和解算每一个沙粒

 

结合在Houdini中生成的水流,制作团队可以使用自然生成的波纹,然后作为在Katana中置换贴图的样本,这让海面看起来更加真实漂亮。

 

波纹转换

 

》中使用了大量的微距摄影,制作团队一开始想使用NUKE中的合成流程来解决,后来他们发现在RenderMan中使用DOF(景深)技术进行渲染会惊人的得到非常好又精确的结果。对于一些夸张的DOF镜头,一项结合起来的技术被采用了, 他们在USD中重建了整个项目,并使用图像深度数据增加了特别的运动模糊效果,这赋予了画面独特的风格。

 

电影中大量使用了微距摄影

 

最后,为了清除所有的光线跟踪所形成的噪点,用到了 RenderMan Denoise这个新的降噪技术。一般地说,折射表面和具有很大DOF(景深)的镜头需要额外的采样才能完全处理好,但是 Denoiser(降噪插件)允许团队们不再关注这些技术点并且不再担心这些令人烦恼的噪点或者去渲染很长很长的时间。他们也使用了LPE技术对焦散造成的“萤火虫”现象进行处理。

 

电影中大量使用了微距摄影

 

终于,《》把RenderMan的基于物理的材质和灯光推上了一个新的标准,RIS架构在CG技术上到达了一个空前的高度,为皮克斯未来的基于物理的动画制作流程铺垫了坚实的道路。

 

原作者:Leif Pedersen

原文编辑:Mike Seymour 

翻译:蓝海创意云-范导

 

原文链接:https://renderman.pixar.com/stories/piper

活动推荐

联系客服