刘德新
中影动画产业有限公司,北京101400
传统动画片或者动画电影的产生是一个“纯粹”的从无到有的过程。从宏观角度讲,在投资、制片、编剧、导演、配音、音乐、音效、美术设计、三维动画制作、母版制作、影片发行等众多资源的共同努力下才为观众带来生动感人的艺术作品[1]。以上工作中,成本最高和工作周期最长的莫过于三维动画的制作。就目前而言,三维动画制作的标准工序大体上包括模型、材质、绑定、动画、特效、灯光、渲染、合成等。受新冠肺炎疫情影响,电影票房普遍受到了不小的冲击,电影在现代人娱乐方式中的占比正在回归本位。作为电影体系中的一个分支,动画电影受到的影响也非常明显。与之相比,各视频平台的动画播放量保持了一种相对稳定的态势,即便在疫情期间,平台对IP 改编和动画化的投入也保持了相当的热忱,从而培育了一批依托于视频平台的动画公司。考虑到目前年轻观众“手机+视频App”为主的观影模式,以及周更一集的动画番剧,甚至周更两到三次的短视频,仅从制作周期和制作成本的角度考虑,在技术和流程上发生相应的变化是必然的结果。元宇宙概念的推出让数字人技术受到了广泛的关注。从某种角度来说,当下电影行业内很多变化也是受到了互联网时代的数据分享观念的影响。在此影响下,动画软件厂商和动画制作企业逐渐意识到资源再利用的重要性,开始在不同层面最大限度收集、整合、管理、应用来自自身或者互联网的动画数据。对于企业而言,动画数据是非常重要的资源,善于使用已有资源是降低成本的重要方式。
随着三维动画软件发展和生产流程的演变,原有的分工协作逐渐具有了跨软件、跨流程的技术特点。跨软件指在制作动画的过程中使用了更多的软件,跨流程指原本的线性流程顺序被打破,因此具有通用性的文件格式变得非常重要。作为动画制作的参与者需要对三维动画软件的不同数据有足够的了解,才能对其进行科学合理的分类,从而更好地利用这些资源。
动画电影中的资产数据可以理解为实拍电影中的道具,即置景、服装和演员。从三维动画的技术角度来讲,如果资产(不特指某一类)在同一款软件中进行制作,那么完整的资产应该是包含模型、UVs、材质、绑定四种数据信息的文件[1]。如果以上四种数据不在同一款软件中进行制作,除了需要按照各自软件提供的标准格式进行存储外,考虑到模型数据通用性,模型和UVs文件一般会选择Obj或Alembic Cache这样只含有模型网格信息的文件格式(USD格式也受到越来越多用户的青睐)。
由于不同软件以及渲染器的内部算法不同,导致与之配套的材质数据无法通用的现象是非常普遍的。材质数据的划分方式其实是按照软件和渲染器来分类。如动画软件3ds Max、Maya、C4D、Blender、渲染器Redshift、Arnold、VRay、Cycles 4D 等,具体使用哪种搭配方案一般由灯光渲染的技术负责人决定。因此前面提到使用通用格式的模型文件可能会带有彩色贴图,但通常不具备材质的物理质感。
在游戏行业中的资产数据比动画要广义的多,动画中的资产数据在游戏中被分为静态网格(Static-Mesh)和动态网格(Dynamic Mesh)两种。静态网格是不参与运动的模型,动态网格为参与运动的模型。没有动作表演的模型不需要进行绑定工作,如各种体积的岩石和碎块以及房屋居室等。将以动画和游戏对网格(Mesh)的定义综合起来看会是个更为全面的做法,毕竟选择使用虚幻引擎(Unreal Engine,UE)进行渲染早已是主流的技术方案之一。
角色绑定可以简单的理解成利用骨骼来驱动角色模型,使角色能够按照要求做出相应的动作,角色动画文件是带有动画信息的角色绑定文件,所以这里把它们归纳在一个标签内来进行介绍。角色动画的制作仍然存在两种形式,其中一种是绑定和动画在同一软件中进行制作,绑定文件和材质文件有着类似的特点,它对软件的依附度非常高,由于为骨骼添加控制器时会使用大量的运算节点,而这些节点在不同的软件间是无法互认的。再者,作为数据库文件的一部分需要考虑文件的大小,如使用Maya 时会将角色动画的曲线单独导出,而不是直接使用带有动画的角色。另一种是使用通用数据跨软件制作的形式。在不同的三维软件中骨骼和蒙皮模型作为最基础的绑定数据,如果记录为FBX 格式在所有三维软件都是可以被读取的。使用FBX 文件在不同的软件中通过对带有动画信息的骨骼文件进行重定向(Retargeting)工作,可以把任何动作赋予到新的同类角色身上[2]。
特效工作涉及的内容是非常繁杂的,内容不限于烟火爆炸、雨雪河流、毛发布料、刚体柔体、光效等。因此它的制作方式和流程比其他部门更为自由,根据实际情况可以选择在不同的软件中制作。特效一般是按照每个镜头单独制作的,镜头中一般会使用到其他软件制作的公共数据,如带有动画的摄像机、带有角色和道具动画信息的Alembic Cache 缓存,如果制作河水还会用到场景的缓存文件。这里需要考虑的是可以将没有参与互动的特效文件单独梳理出来,方便日后再利用。
除了像个人或动画公司这样在平时的工作中日积月累产出或少或多的数据外,我们还需对互联网带来的动画数据进行梳理。互联网数据来源不限于传统的技术形式,往往会采用更为新颖的技术手段,使得数据的采集效率和质量都有非常大的提升。
在众多的扫描技术中,以Quixel MegaScans 技术最为出名,它使得Quixel成为世界上最大且增长速度最快的3D扫描库。此外很多个人或者机构采用了诸如Reality Capture、Meshroom、RealityScan 等激光扫描设备来创建三维模型,3D 扫描技术可以高效获取被扫描对象的模型和贴图。除了用于采集真实环境中常见的各种物品外,对于像中式家具、中式传统建筑的镂雕浮雕乃至博物馆中收藏的文物都有着极高的处理效率。一些不常见的通过激光扫描获取资产数据,很多都在付费下载网站占据一席之地,甚至已经形成了一种新兴产业。另一种可以快速生产模型资产的方式是使用多角度照片来产生模型数据的云计算技术。只要将模型的照片上传至指定的网站,通过网站提供的计算能力生成模型和材质贴图,如Autodesk ReMake。使用激光扫描和通过照片获得的模型数据需要在通过其自身软件或其他三维软件进行重建网格(Remesh)后,才能达到用于动画制作的模型标准。
对于一些特定类型的模型,如城市建筑和科幻场景,更适合使用程序化建模来进行制作。程序化建模常见于Houdini和Blender中,只需要提供一些不同样式的建筑部件,如门、窗、墙体、屋顶,通过程序可以生成不同高度、结构、搭配、造型复杂的建筑模型。自然植被的独立插件(Add-on)也是一种非常具有代表性的资产数据,如针对Blender 开发的G Scatter、Tree Vegetation、Botaniq等。
在此介绍两个为3D艺术家提供成千上万数字扫描资产的网络资源——Quixel Bridge 和KitBash3D。他们提供的数字资产几乎涵盖了视频游戏、电视、电影、设计或艺术领域所需要的所有部件,如海洋生态系列、砂岩系列、荒地系列、草原系列、瓦砾系列、森林系列、灌木系列、草地系列、城市建筑系列等,文件格式含有Unreal、Unity、Houdini、Blender,C4D、Maya、3ds Max、Octane、Redshift、VRay、FBX和Obj。
为了方便制作者使用,很多动画软件选择了内置角色数据库。如近期在网络上较受关注的虚拟数字人,很多都是使用Character Creator、Daz 3D 和Meta-Human Creator 提供的角色数据库来进行制作的。值得一提的是此类软件提供相对智能的头部模型生产系统,如Character Creator 可以使用照片来生成角色的头部。Epic Games 发布的MetaHuman Creator 在2022年6月迎来了更新,增加了将扫描或手动创建的面部网格转换为MetaHuman 格式人像的功能,弥补了旧版本只能小幅度调节角色形象的遗憾。
制作复杂的角色动作时需要为角色的骨架添加相对复杂的控制系统以提升角色的可控性[2]。在任何一个动画软件中手工绑定角色的工作量都非常巨大,因此将角色绑定系统模块化是必然的选择。相比模型和材质方面的数据模式,可以把模块化的绑定程序理解成一种数据库的变形,它记录了少则几百、多则几千个复杂的绑定步骤,帮助绑定师更有效率地完成工作。比如Maya 中经常用的Advanced Skeleton,Blender 中的Rigify 和Auto-Rig Pro 等。C4D 则另辟蹊径的内置原生绑定系统,可以识别不同标准的骨骼数据并为之创建控制的角色绑定系统,如把从Mixamo下载的骨骼动画数据变成标准的且带有原动画数据的C4D角色动画文件。
MetaHuman Creator 则进一步将角色的模型和绑定整合成一个系统,在此系统中可以使用数据库自带的角色身体以及自定义面部模型。无论创建出的角色形态如何,身体和头部都将使用各自的标准化拓扑。这样可以通过模型网格上点的ID(VertexID)信息来自动判断不同骨骼与身体关节的对应位置,以实现骨骼(Joint)和权重(Weight)按照角色的身材比例自动适配的效果。除了主要关节外,在主要的肌肉位置也添加了很多单独骨骼,以配合主要骨骼在运动时做出相应的反应,以实现看起来有肌肉在动的错觉。使用骨骼驱动的方式来实现肌肉运动的效果,其优点不需要进行动态解算,具备实时性。肌肉效果的实现方式使用的是相当传统的驱动方式,但因为是通过程序自动生产的,在效率和效果上已经做到了目前的极致水平。MetaHuman Creator 支持输出不同的文件格式,比如UE、Maya、Blender 等。所谓“传统”是一个相对的概念,有些意味着延续,有些意味着颠覆。总体来说MetaHuman Creator 在技术和流程方面作了更为系统的整合,是一种经验和技术的延续。但对动画制作者来说,感受更深的应该是一种用户体验上的颠覆。
贴图数据主要是指高分辨率的纹理图片,渲染时使用分辨率越高的贴图所需渲染时间越长。为了提高渲染速度,距离摄像机越远的模型,贴图分辨率越低。因此在工作中也就形成了同一套贴图文件需要准备多个不同分辨率版本的规定。材质绘画师大都会在著名的贴图数据网站Texture Haven下载资源。
前面提到的由于软件和渲染器内部算法的不同,造成了材质数据无法互相转换的现象。在基于物理渲染(Physically-Based Rendering,PBR)的材质被部分软件或渲染器采用后,在一定程度上解决了不同软件间的材质转换问题。虽然不同软件中的PBR 材质在转换时需要重新链接相应的属性,但在效果上基本可以保持一致。如果在渲染时选择了像UE 和Blender这样的软件,准备PBR 材质的技术方案是非常必要的。
像Mari和Adobe Substance 3D Designer 这样独立的材质绘制软件,不仅绘制功能强大,一般也都内置了相当规模的素材库。另一类材质资源作为插件存在,如Blender 的材质绘制的插件Philogix PBR Painter,其携带了一个完整的纹理包,拥有完整的涂层系统、智能材质和导出选项,而且具备非常直观和友好的用户界面,可以轻松创建蒙版、应用贴图和材质,允许在Blender 中为3D 模型绘制纹理并导出PBR材质,功能和使用方法与Substance Painter类似。
在动画工作正式开始前为角色准备有效的动画数据库,将有助于保持动画风格的一致性,大幅降低动画师的重复劳动进而提升工作效率[2]。
身体的动画数据除了有动画师手工制作的Keyframe 动画外,使用动作捕捉设备获取数据的方式也非常普遍,光学捕捉和惯性捕捉作为比较常见的动作捕捉系统,通常需要演员身着外部硬件设备来进行技术支撑。近期英伟达推出的Omniverse Machinima 含有通过使用移动或网络摄像头获取人体动作,借助WrnchAI姿势预测器模仿人体动作的动作捕捉技术。
ActorCore、Rokoko、DeepMotion、Mixamo 等网站为动画师提供了几千种不同的动作数据,动画师可以根据自己的需求下载其提供的FBX 文件,并把这些下载的数据与相应的动画角色进行重定向,最终产生以控制器动画曲线为主的数据文件。在对动画要求不高的情况下,也可以直接把FBX 动画数据重定向给一个只有骨骼和蒙皮模型的角色上(无控制系统)。
表情动画数据的获取方式,不同形式的面部捕捉技术也已经被广泛使用了,设备成本从几千元到几万元,满足不同的市场定位。除了面部捕捉和动画师手工制作的Keyframe 动画外,最近不少软件开始提供通过智能的语音输入转化成动画口型的功能,FBX文件中除了骨骼和蒙皮模型的信息外,通常会包含用于制作表情的绑定信息。可以在软件中把这些信息链接到软件中对应的表情控制接口上,在选定一段语音文件后,可以通过内置的智能运算系统为角色生产相应的口型动画。如针对普通用户的iClone 和高端用户的Omniverse 的Audio2Face。
特效镜头往往是需要针对特定的场景环境和构图来制作的。如果抛开以上的限制,还是可以发现很多既可以用来丰富气氛,又和角色没有互动的特效效果。如自然环境中的火焰、烟雾、尘土、雨雪、程序化分布的植被、角色技能特效等,这些都值得处理成单独的、可以重复使用的数据加以保存。特效数据使用的方便程度受软件本身的特性影响,如在虚幻引擎中对素材的操作灵活度要高于Maya很多。
动画是一种包含艺术性、工业性和商业性的混合型产业。如果以动画软件的工业性为代表,以制片统筹为商业性代表,那么数据管理则兼顾了二者的属性。以往的动画行业受限于技术条件,制作、数据、制片三部分形成了三条不同的管理脉络,时至今日逐渐相互影响,大有通汇融合之势。
不同形式的动画数据无疑是一种财富,如果不能建立有效的管理机制将无法充分发挥其作用。从数据管理的发展脉络来大致可以分为三种类型:外置型、插件型、内置型。
外置数据库主要用于存放数据,它与三维软件间几乎没有交互性。因为传统的三维软件内部数据管理功能比较薄弱,用户可以通过三维软件的相关命令来指定某个项目的工程目录。但是为了更自由地安排项目中的各项资源,通常需要人工在电脑系统中创建复杂的文件目录进行数据管理。文件目录存放越深,对于文件的查找和读取速度就越慢,通常还会影响到渲染速度。目前硬件存储有块存储、文件存储和对象存储三种形式,其中对象存储相比块存储和文件存储的本质区别是无层次结构。相比于前两者,对象存储读写使用程序管理,减少人为操作,具有读取速度、查询速度更快和安全性高等特点。
插件型数据库通过安装外部插件达到在动画软件内部产生可以使用的数据管理程序。如在Maya中使用的名为Studio Library的角色动作数据管理程序。此程序拥有独立的使用界面,可以以角色为单位,为不同的角色创建动作库,其数据包括且不限于角色的经典站立,不同状态时的走路、跑步、跳跃、等待、挥手,以及不同情绪时的表情和说话口型等。在功能方面,不仅支持相同角色间的数据传导和不同角色间的动作数据传导,还支持不同角色间的、指定关节的、通过阈值控制的,从而达到的不同幅度的动作传导,弥补了原生Maya在角色动画方面存在的技术空白。为了方便所有动画师可以同时使用此数据库,一般会将它的存储路径指认到公司的总服务器上。不过也一有些插件型的数据管理程序随着软件自身的升级被原生软件淘汰掉了。
内置型数据库指已经集成在软件内部的数据管理器。随着动画技术和流程的发展,用户会在使用过程中产生新的需求,从而促使软件厂商在开发过程中做出相应的调整,如UE 的原生资产管理器(Asset Manager)。UE中的资产(Asset)定义是指任何可被其读取的数据,如静态网格、动态网格、PBR材质、贴图、角色绑定、角色动画、特效等,并不是单指某一特定类型的数据。而像Blender 在3.0 以后的版本中添加的资产浏览器(Asset Browser)则属于特定类型的数据管理器。
从网站角度来说,每一个网站都是一个庞大的数据库,为用户带来无数的数据资源。对于项目和个人而言,其需求往往具有明确的定位,过多的资源反而会造成选择上的困扰。要构造一个方便使用的数据库需要花费不少的时间,其模式应该是以上所述类型,具备不同侧重点的混合体。为了方便查看这些收集好的数据,作为说明,需要为每个数据配备与之对应的图片信息或动画视频。除了前面提到的角色动画的动作库内容外,需求量最大的算是模型资产方面了。准备模型资产要考虑资产的艺术风格,同一个动画项目中风格差异过大的资产不会在一起使用。其分类方式仍然遵循角色、道具、场景、环境等,可以按照不同的用途添加标签或批注来进行更详细的分类,如角色的男女老幼、正装或休闲装、不同类型的交通工具、室内的家具或炊具、乡村或城市、环境植被等,甚至还可以更详细的细分,如环境植被可以拆分为乔木、灌木、杂草、碎石等[3]。材质数据主要依据物体的物理属性进行分类,比如塑料、木头、布匹、金属、石头等。特效数据首先需要按照软件来分类,如Maya 或Houdini,分类则可以考虑尘土、烟雾、浓烟、爆炸、火焰、流水、水花、瀑布、光效等。为了更容易地在资产库中找到需要的文件,对各个大类进行更详细的拆分,并做好标注是非常有必要的。
近年来,各大公司对动画数据的重视程度日益明显,很多公司都在投资动画数据领域,为其在未来发展中谋取有利的位置。如UE 的母公司Epic Games收购了资产库Quixel 和浏览器Mixer 和Bridge,Adobe收购了动作数据库Mixamo。
虽然网络资源分享看似由游戏行业主导,但随着UE 在动画行业中的应用,来自互联网的数据资源对动画行业在不同角度和深度上都产生了深刻的影响。
首先,随着一部分传统的概念设计师对三维软件和网络中提供的数字资产有了越来越多的了解,概念设计逐渐从纯粹的传统美术范畴中分化出了以三维软件为创作平台,引用数字资产快速搭建画面构图,并在其基础上进行二次创作的“概念设计的新流派”。在某种程度上降低了概念设计对美术基本功的要求,从而扩大了概念设计的参与人群,为喜欢概念设计的人士提供了更多的机遇。
其次,互联网中提供了各种类型的动画数据,为动画行业中不同专业领域的动画人士提供了更多的练习素材和创作灵感。如材质师可以下载不同的模型素材作为练习对象,动画师可以下载不同类型的角色绑定文件练习动画,灯光师可以下载资产素材搭建场景练习灯光渲染等。
对于三维动画的制作公司来说,无论是使用自己的数据库还是互联网中的数据,一方面可以大幅度降低重复的工作。另一方面可以加快生产效率,如使用现有模型资产快速搭建新的场景。使用动作库加快动画的制作效率,尤其是非主要角色的动画制作,甚至可以通过筹建完成的数据库向客户展示其以往的作品。通过数据库中大量的可视化资料,为那些难以用语音表达的视觉效果提供有效的参考,以便更易于与客户达成共识,为业务沟通提供便捷服务。
其实动画资产数据的应用范围要比人们的普通认知广泛得多。随着各大博物馆推出VR 体验馆,很多珍贵的文物都接受了数字化处理,为文物保护发挥了一定的作用,同时众多珍贵文物的扫描数据也成为了数字资产中重要的组成部分。
从某种意义上讲,数字资产拥有非常高的商业价值和社会价值。对于普通用户来说,能够获取并使用来自互联网的动画数据,无疑将为学习和工作带来极大的便利。本文提及的动画数据仅仅是互联网资源中的太仓一粟,如果想使用得当还需要下一番功夫,毕竟适合自己的数据资料和数据库才是最好的。❖