Unite 2016|Unity实时渲染动画电影《Gift》
先来看看这部使用Unity实时渲染的动画电影《Gift》:
https://v.qq.com/txp/iframe/player.html?vid=r0194bf9yd0&width=500&height=375&auto=0
传统的动画制作都采用预渲染的方式,这样可以保证最佳的渲染品质,但缺点是耗时过长,制作成本过高。Marza想要解决的问题就是在保证整个画面质量的同时还能极大缩短制作周期。而Unity引擎因其简单的开发环境、超强的图形渲染能力以及自由度超高的可扩展性,成为了Marza的首选工具。
Marza先将其原有的影视制作流程整合进Unity,然后定制一些自动化的工具,再开发一些着色器来完善画面的后期效果,整个完全不输CG动画的高品质短片《Gift》就通过Unity实时渲染出来了。下面为大家分别介绍各个流程。
将Alembic格式的网格直接导入Unity并赋给材质的Mesh属性,这样就能直接在Unity中看到带有材质的模型。 并且保证在Unity中的材质外观与Maya中几乎一致:
动画电影与游戏的最大差别就在于动画电影需要不断切换镜头,而每次镜头切换都会带来相应的光照变化,所以每个镜头都被当作单独的场景来处理。由于镜头数量较多,相应需要处理的场景数量也很多。
但使用Unity引擎,可以创建一些工具来自动构建场景,并对内容及光照环境类似的场景进行自动复制,然后使用自动处理抓图流程,打开一次场景即进行一次抓取流程,如此反复。这样就极大地提高了工作效率,与传统制作过程的预渲染相比,平均能有565倍效率的提升。
Marza对Unity自带的StandardShader进行了扩展,针对毛发、眼球、皮肤、头发及草皮等实现了专门的着色器。其中针对毛发的着色器借助纹理贴图软件Mari的FlowMap来表现毛发的方向,让整个毛发看起来栩栩如生。而眼球着色器则可以根据灯光及视线方向来控制眼球的反射及折射情况。以上着色器都是在使用Unity实时渲染的过程中对画面进行调整,极大提高了画面的真实感,达到了动画电影所要求的工业标准:
此场景中三角形数量最多可达32亿,还好Unity引擎表现得出人意料,即便在状态显示出错的情况下还是非常高效地完成了渲染任务。
最后
关于《Gift》的简单制作流程就为大家分享到这里,《Gift》的诞生很好的证明了Unity在图形渲染上的惊人能力,同时也凝聚了Marza希望与Unity一起改变整个动画电影制作流程的决心。另外Marza还表示,希望与Unity合作,将这样的实时渲染技术直接带入VR!
相信《Gift》的出现不仅为动画影视制作人员带来了全新的技术革新及流程改进,同时也为Unity开发者们打开了全新的大门,使用Unity不仅可以制作行业应用软件、游戏、VR内容,现在还可以直接渲染动画电影了!
我们后面还会为大家分享更多的技术内容,请关注Unity官方中文社区(forum.china.unity3d.com)。