查看原文
其他

《异教徒》技术美术大揭秘:魔王Morgan的幕后制作

Unity Unity官方平台 2022-05-07

对Unity Demo团队来说,使用视觉特效图集(Visual Effect Graph)制作人物是一项颇有趣味的挑战。Adrian Lazar是Demo团队的技术美术,作为一名大部分时间都在等渲染完成的人,他非常喜欢实时3D所带来的创作方式。在文中,Adrian将详细介绍Morgen的制作流程,给出几条用Unity制作VFX的实用提示


我的名字是Adrian Lazar,在电脑图形行业度过了近18年。从最开始的广告后期制作,到2009年向游戏实时图形的转变,我有着多面手的能力,而在过去几年里主要担任着技术美术的角色。我还与一支小而精的团队联手发售了自己首个独立游戏。


在2019年我作为技术美术加入Unity Demo团队时,《异教徒》第一部分已经在发布前的收尾阶段了,我参与了一些结尾特效的制作。不久后,团队就开始讨论制作Morgan,出现于短片第二部分像天神一般的VFX人物。


在叙事上,Vess(Veselin Efremov,《异教徒》的编剧、导演和创意总监)明确提出以下要求:Morgan需要在多个状态间变幻,平静与愤怒、女性与男性、或者多种状态混杂,可使身体增长好几倍,身体能破碎、能起火,等等。


而在外观上,Vess则故意留下大片空白让我们探索、实验。前同事Georgi Simeonov制作了不少概念美术,但最终都没应用到人物的VFX和变形效果上。摆在我面前的是一块空白的画板,让创作即有挑战、又有趣味。


概念美术


最初的测试先是从我用得最顺手的Houdini 3D开始,在测试后再与Vess讨论各个概念。


当然,为了制作实时的短片,我们希望在Unity中制作组成Morgan的特效,好方便修改人物,让效果能对周遭变化做出响应。因此,我舍弃了在外部软件预模拟特效的方法,转而寻找一种不同的方案。


在Unity Demo团队里,最让我开心的事就是工具和流程的压力测试、改进和开发了。这些内容都是用户每天都要用到的东西。


早期测试视频


在制作Morgan时,快乐甚至会加倍:不仅要制作复杂的实时VFX人物,还要开创复杂特效的实时创作流。我已经跃跃欲试了。


想想看,在最终环境的镜头角度、光照、后期处理和其它VFX效果下就能开发、修改人物外观!这在几年前只存在于梦中。一路下来并不轻松,但在团队的努力下,两个目标都达成了。


图像风格并未确定,又要实现实时回放和创作两个技术目标,我于是转向了当时还处于初生阶段的工具:Julien Fryer和巴黎团队开发的Visual Effects Graph。


VFX Graph当时还是个新工具,在能真正用于深度实时创作前还有很长的一段距离要走,不过它带来的潜力也是巨大的:不需要在DCC中等待效果完成,再导出到Unity查看,再回到DCC调整。


我们团队希望能在末尾之前都能做出修改,甚至是在期限的几小时前,而实时图形正好能满足。


Morgan的早期版本,周身有粒子在流动




先制作哪部分?外观还是技术?



这是一个循环往复的过程:首先,提出想要实现的概念,然后打造相关的技术。在创作中,过程很可能会有点曲折。创作方向、技术限制等原因都可能会让概念变动。


而我们又在一片无人航行的水域,用着从未用过的桨,试着实现复杂VFX人物的实时创作。事情突然就复杂了起来。


人物的第二个主要版本


第二版变形效果


技术和外观开发紧密相连时的快速迭代、实验都让我觉得乐趣无穷。这种创作自由让人上瘾,更改图像风格时更像是在制作概念艺术,而不是在做实际作品。


快速实验的另一个好处是可以迅速更改艺术方向、马上测试,在制作面部细节时我有深刻的体会。虽然大部分内容并不会被实际采用,但我从中找到了静态头发的制作灵感。


头发的演变


有时,因为技术外观两者之一陷入停滞,另一部分无法继续推进。如果我没法确定人物下一步的创作方向,或者技术无法实现我的想法,开发也就停下了。


幸好团队对我伸出了援手,这里感谢他们:


  Vlad Neykov(首席图形测试工程师)是一位难得的帮手,他耐心回答了我所有的问题,还帮助解决了许多技术难题。


  Julien Fryer(VFX Graph首席编程)帮忙优化了Morgan。像《异教徒》这种内部作品是压力测试的好环境,可让我们快速找出能继续改进的地方。Julien还为Morgan开发了一个LOD系统,来应对高性能要求,系统将在不久公开发布。


  Paco(Plamen Tamnev,Demo团队的3D艺术家)提供了一层必不可少的图像外层,和他共事体验很棒。


  Krasi(Krasimir Nechevski,动画导演)指导、监管了人物的骨架和动画制作,还参与了动作捕捉摄制。他为飞石和穿刺镜头的提出了宝贵意见。


在经过3种主要版本、以及无数的小实验后,Morgan的最终面貌终于在期限前浮现出来。


Morgan最终版




Morgan的主要特性



1   VFX变形


Morgan周围的特效可在明亮和黑暗之间变换。这不仅仅是简单的色彩变化,两种效果各有一套系统,含有各自的几何形、密度、色彩、特效等等。我们设想让效果能像皮肤一样,用一种不那么令人不适的方式剥离、脱落下来。


2   身体变形


身体可以独立于VFX变形,借助blend shape变形,从女性变为男性,特效则会适应新的形状。


3   火焰


火焰看起来更像灰烬,特效可以高度自定义,可以在需要时添加额外的强度。火焰是在最终期限几周前才完成的。


每个身体部位(头冠、头部、眼睛、身体和外衣)都能设定不同的作用量,方向和流动效果可实时修改,两个状态之间火焰的色彩梯度也能更改。特效有三种输出模式可选,受光网格(Lit Mesh,用在了《异教徒》中)、不受光网格(Unlit Mesh,用在了Morgan资源包中)和屏幕空间模糊/扭曲(一种实验性模式,并未用在最终影片中,但仍可在Morgan资源商店资源包的火焰选项下找到)。


火焰一开始有一种能量爆发的效果


4   粉碎


Morgan可以粉碎成一片片碎片。效果有多种控制选项,还有一个可重新设定的效果起点(在影片中位于右手食指),以起点为原点,来生成覆盖整个身体的放射性色彩。色彩再由两个噪声遮罩修改,最后由Crumble ACrumble B两个滑动条来控制。Crumble A仅运行在其中一个噪声模式上,无法完全摧毁身体。Crumble B则能在暂短的延迟动画后完全摧毁模型。


在粉碎效果被触发后,你需要用Reset(重置)或Recompile VFX Graph(重新编译VFX Graph)选项才能让人物回到原本状态。粉碎效果会在Update中触发一些物理作用力,所以模型并不能倒回,只能重置。


在《异教徒》短片中,为了让毁坏效果更接近现实,我们将粉碎效果与Houdini导出的模拟效果结合了起来。


早期粉碎效果测试


5   调试(Debug)


制作早期的属性调试功能极大地方便了人物制作的实验,用来测试像上方提到的噪声遮罩。每个主要内容都有调试选项。


6   实时定制


上方提到的每种内容在检视器中都有不同的自定义选项。总共有300多种参数可用于制作动画。


7   其他相关效果


虽然这里大部分时间都在讲Morgan的人物,这里还有两个同样重要的效果:Morgan部分手臂飞向Gawain时的飞石,和刺穿Gawain的尖刺。


制作中的飞石效果




Morgan最终版本的制作



Morgan由17个视觉特效图集(Visual Effect Graph)组成,每个Graph控制效果的一部分,以方便管理。


首先,粒子要在皮肤网格上生成,在动画播放时跟随皮肤。而VFX Graph目前默认并不支持蒙皮网格,需要使用一种替代方案。


基础网格的位置、法线和切面在UV空间中渲染的,这些数据随后在VFX Graph中用作了纹理参数,以正确地在人物表面确定粒子的位置和方向。


顶点色彩和Albedo纹理也于UV空间中渲染完成。可通过控制纹理参数来修改尺寸、大小、角度和中心点。在Morgan资源包中,我的同事Robert Cupiz(《异教徒》首席技术和渲染工程师)和Torbjorn Laedre(Demo团队首席工程师)大幅改善了纹理生成的过程。


我还使用了包含所有Graph的自定义编辑器,方便修改一些共享的属性。模型虽然已经有大概300种参数,但还可以添加更多,当然界面里过多的参数要修改起来会比较麻烦。


Morgan17个Graph中的其中一个




Unity VFX Graphs使用提示



使用动画曲线采样器(Animation Curve Sampler)可以快速制作不同的渐进、淡出和延迟效果。我大量使用了采样器在两个浮点、矢量、色彩等数值间插入Lerp值。


使用单个参数来修改多个属性和动作。比如,火焰强度滑动条会修改多个与特效相关的属性。便利性、速度和精细度需要达到一定的平衡。


火焰特效的演变


子图集(Subgraph)可以很方便地在多个Graph中重新使用同样的节点。但请注意,每次更新、编译Subgraph时,所有包含其的Graph也会重新编译。如果主Graph的数量和体积都比较大,重新编译会花费许多时间。建议在Graph的逻辑测试正确后再将其作为Subgraph,如果需要频繁修改,将节点复制到主Graph上,修改完后再重新复制回去,效率可能会更高。这样虽然不方便,但我有时为了避免过长的编译时间也会这么做。


大部分时候,滑条控制参数要比数值输入更方便,微调时更显得流畅、自然,还能限制数值范围,确保效果不会崩溃。


Graph的参数可暴露出来让用户在检视器中修改,但太多的效果参数反而会让人眼花缭乱。我多次修改了Morgan暴露的选项,在可用性和精确度中找到平衡。


这条不算技术提示,由于制作中技术和艺术相互交织,要同时解决两方面问题的难度可不是一加一这么简单。




快来下载Morgan吧



看了这么多,不如下载Morgan资源包、亲自动手要学得快。更多关于影片制作的博文和视频可在《异教徒》落地页面找到。


作为一名大部分职业生涯都用在等待模拟和渲染完成的家伙来说,实时制作简直就是美梦成真,它将重塑许许多多的行业。而我已经迫不及待地想迎接下一次挑战了。



文中涉及的资料汇总:


[1]《异教徒》发布页面:

https://unity.com/cn/the-heretic


[2] 视觉特效图集:

https://unity.com/visual-effect-graph


[3] Morgan资源商店资源包:

https://assetstore.unity.com/packages/essentials/tutorial-projects/the-heretic-vfx-character-168622







 每一个“在看”,都是我们前进的动力 


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存