houdini节点大全中文手册_【技术贴】武林秘籍在此!大咖座谈虚幻引擎制作影视动画经验!...
发布日期:2022-02-04 03:25:48 浏览次数:8 分类:技术文章

本文共 7855 字,大约阅读时间需要 26 分钟。

小伙伴们大家好呀

实时渲染技术的运用十分广泛

玩家在游戏内所见到的三维场景给与的动态反馈

其实都用到了实时渲染

同样,在影视动画行业内

实时渲染技术同样也是不可或缺的

5b1038b91aa45809406b925ef509feeb.png

为了让同学们深入了解实时渲染技术在影视动画行业的应用现状、工作流程和未来前景。本期种子君给大家带来了腾讯NExT Studios 的技术美术薛红杰老师在2017年分享的观点文章。

话不多说,快来做笔记吧!

7091a1323265c91cb091aadf90e3dd65.png ▲ 腾讯NEXT STUDIO制作的游戏《重生边缘》
f3908cf9a80f1a03bd761ade0cea48ac.png
个人经历简介 使用虚幻4制作动画片这是我在2007年第一次接触虚幻3的时候完全没有想到的,而在现在的2017年已经有使用虚幻4制作完成的商业动画播出已经说明这件事在可行性上没有问题的了。 做一下自我介绍,我叫
薛红杰,2004年进入游戏行业,至今有12年的游戏制作经验,1年动画制作经验。入行之初是一名角色原画师,从事原画工作3年后对3D发生兴趣。07年的时候因为机缘巧合投简历到了当时在上海的
Epic games china studio。在Epic Games  China Studio工作中第一次接触到了虚幻引擎3,从此之后我的职业生涯基本都和这个引擎有关系。
f49e8c1868d1eb0ade708817c91a3e99.png ▲   早期虚幻引擎3开发下的游戏画面 2009年,我在久游参与了
《流星蝴蝶剑ol》的制作,也是用
虚幻引擎3搭建的平台。16年到17年这一年我以技术美术的身份在一家使用虚幻4制作动画的公司工作,后来转为美术总监,几乎是全流程的参与了动画制作。下面,我就根据这些项目经历来说一下我在使用虚幻4制作动画的一点看法。
2a439db72697508ad7331138ca769f9c.png ▲   用虚幻引擎3开发的《流星蝴蝶剑OL》
传统的3D动画制作流程是以Maya为制作平台 搭配,其他
DCC(
数字内容创建 Digital Content creation,指市场上用于创建创意内容的应用程序类别,以下都简称DCC)和渲染器辅助的流程,这个流程被大多数动画公司采用。当然,皮克斯是个例外,他们有自己的动画制作平台USD(通用场景描述)和渲染器Renderman。
3729e48b07261f5b084c70fc5b317067.png ▲   迪士尼皮克斯工作室开发的USD格式 这个流程简要来说是模型、绑定、动画、材质、灯光、渲染这样一个顺序流程,以Maya为主,其他DCC辅助,是一个线性非破坏流程。这个流程下的好处是工艺成熟,可控性高,人才储备丰富,在现有人才结构下运转良好,团队磨合好且战斗力很强。
缺点就是技术决定了团队环节多,规模大,渲染后的修改需要之前流程重复运转一次,修改成本大,团队的磨合成本高。
af0f19a4383718bf580c92c6c7070294.png
▲   典型的动画制作流水线
97e5d6940c3a9b5a833411c2b95b42c0.png
▲   传统动画流程
虚幻4作为一个新的制作平台相应成规范的流程和人才储备还不够完善,其整个流程还是和Maya流程有很大区别的。 其中包括在DCC里创建完资产(模型、纹理、绑定、动画、模拟等),导入到虚幻4里,在虚幻4里然后搭建场景,编写材质,灯光,建立Sequence,编辑素材,输出等环节流程。
相比Maya的线性流程,虚幻流程是一个非线性流程 ,虚幻4这个流程中每个节点都可以在制作途中修改,可编辑性非常高,对其他环节影响小,最显见的就是灯光可以随时修改,随时输出。
36452b15b2d1e2f70ce4bc10bf050cea.png ▲   线性流程与虚幻流程的对比 这样的环节对于创作人员来说可以说是释放了巨大的潜力,传统流程中创作团队几乎要到后期才能看到成品的模样,而虚幻4的流程完全没有这些限制,官方给出的定义是以导演可以纵观全局(Director-centric during entire process)。

44cbcce82206bc1827477e569528f4ad.png

▲   在实时渲染的编辑界面中纵观全局
不过虚幻的缺点也有,上手难度高,推广到团队里成本会不小 。目前来说想要平滑的把虚幻4引入到Maya流水线还是个有难度的事情。
人才储备方面,使用虚幻的人大多都在游戏行业 ,游戏行业里流程的概念并不强,没有动画行业那么严谨和多环节,过渡到动画行业有一定成本,已经非常成熟的动画团队在技术上应用部分虚幻的有一部分,不过主要问题还是在制作平台的切换要丢弃之前很多积累,对新工具的学习也是一个可见成本。
这点上来说,没有Maya流水线积累的新团队直接使用虚幻4会更加灵活,毕竟船小好掉头。 可编辑性的提高同时也意味着管理复杂度的提高,这要求团队要有很强的管理水平。
2ad4470575d24dff7cf6c3aedab3285c.png
▲ 非线性的工作流程
e383d28172d667d686a467f59a3ad993.png
▲   虚幻4制作动画的流程
以上只作为一个基本论调,毕竟虚幻4制作动画的技术爆炸阶段还没有到来,好处和坏处并存是正常状态。 我作为一个从游戏行业使用虚幻4制作动画在很大程度上依赖于之前多年的虚幻引擎使用经验,算是平滑过渡的,但是这对于团队而言是很难的,
多数人还是会在原有技术平台下保持一个惯性思维,接受新工具总是会经历阵痛期。 下面我会逐个展开说明虚幻流程做动画的细节问题。
f3908cf9a80f1a03bd761ade0cea48ac.png
数字内容创建 第一步是
DCC环节。这里模型资产的创建选择Maya、Max、Houdini、Blender都没有什么对错,主要看团队更擅长哪个,选择一个作为通用生产工具即可。纹理生产的选择使用SD(Substance Designer)加SP(Substance Painter),Quixel或Mari都可以,还是看团队对哪款工具更擅长(本人喜欢mari,因为其强大的映射和遮罩绘制)。
900afa0f9591e4465bcd87b617f98d4d.png ▲   《堡垒之夜》中涉及到了游戏资产向动画资产的转换
绑定 Rigging环节目前我只接触过maya,师从Judd Simantov(神秘海域系列首席角色技术总监)。Judd Simantov的流派是使用joint绑定加blend shape,这样做也是因为在此之前
Alembic(一种CG行业的通用格式)没有被大多数引擎支持,不过这点随着虚幻4和多数引擎开始支持Alembic格式,纯粹的joint绑定被扔进历史垃圾桶已成定论,动画级绑定从此不再受限,
Alembic可以完美还原动画级绑定的丰富变化。
4ab389cbac6781a257e5193ca2f9d684.png ▲  《堡垒之夜》中的角色 面部绑定
动画 动画资产的生产在动画片制作里绝对是一个耗费相当大人力和时间的环节。
目前来说,采用全身动捕(动作捕捉)
来说是可以比较好的加速动画资产创建的技术手段。动捕有两个方案,一个是不太成熟但是廉价的
惯性动捕(以诺亦腾为代表),一个是成熟昂贵的
光学动捕(以Vicon为代表),这点上选用哪套设备还是要看财力。我最期望的动捕还是能实现全身加表情加手关节动捕。这样,即便是初期动捕质量不高,也可以非常快速的实现Perviz,加速制作进度。
1e5490a577f88cca4a89895497b8162f.png ▲  光学动作捕捉系统与实时渲染系统的联动 这里的选择其实每家公司都不太一样,制作了《神秘海域4》的顽皮狗就是选择身体动捕,面部和手指动画由动画师添加这样的老旧方案,制作出来的效果绝对是世界级的,这点还是看团队的技术储备,老方案只要成熟稳定,一样可以全火力输出。
自然资产 自然类资产也是多种多样。山体可以选择World machine、Blender、Houdini,都能做出不错的资产。自然植被有Speedtree可选择,功能也十分强大。近景自然资产我最近接触到了
摄影测量技术,这是一个十分强大的技术,可以快速的产出大量的石头,山体,植被。
8743aad279e579075fb15b51c3436cb1.png ▲  Epic的官方DEMO展示了写实级的实时渲染场景效果
导入及材质 下一个环节是把资产导入到虚幻引擎里。最近虚幻开发了一款批量导入的工具Datamith可以解决大量物体导入的繁重劳动。导入到虚幻引擎后第一道工序一般是制作材质,而
材质上确实是虚幻引擎的一大强项和难点,这点逐渐展开说。材质编辑器在虚幻3时代是个用起来入门门槛很高,通用性很差的环节,易用性上只有Mmaterial Instance(材质实例)这样灵活性不高的功能。
3b4077f64d9a00a80f1b8e6303082435.png ▲  Maya等其他DCC可快速转换成虚幻材质 但是随着虚幻4引入了
Material Function (
材质函数)这项功能,从此把材质使用带入了一个新的时代。Material Function简单来说就是把之前每个材质球都要做一遍的功能包装成了单独功能的节点,使用的时候直接调用,不要再每个材质都做一遍,这点上确实解放了很大的生产力。伴随Material Function而生的还有一个东西叫
Material Layer(
材质图层),目前来看material layer还是作为Material Function的一种存在的,Material Layer是把一种效果包装成一个Material Function,再把各种影响这个效果的节点参数暴露出来。了解这个东西的团队把他作为一个内部规范约定,成为一个基础的材质库,使用上高效,调用方便灵活,修改简单。
03066d7e37e24790e9575784e32be9fd.png ▲  虚幻4提供了丰富的官方默认材质函数 我了解到官方后面会把Material Layer作为一项功能单独推出来,这点上我是很兴奋的,因为这个功能推出会把材质工艺更加标准化,材质效果这一块会成为一个模块化的存在,大大推动生产力(以后卖Material Layer应该也是门生意)。估计今后Material Layer这个概念被大家接受后Material Layer库的建立也会成为项目中非常重要的一环。
关卡搭建 资产在完成了材质后下一步会放到场景里搭建,这一步在游戏开发里是由专门的Level Artist(关卡设计师)完成的,在动画制作上的有一定区别,主要体现在动画受镜头限制,镜头之外的没有必要制作,场景只需要保证镜头之内的效果。这里有一点制作细节上的东西,就是场景搭建要使用Sublevel(子关卡)来制作,把不同的部分放到独立的Sublevel里是一个非常重要的制作规范,这在后面制作上会规避掉很多危险操作。
ec5bca9fd5417ddef518a5d236ec3585.png ▲  关卡搭建是导入完资产后的整合式美术创作
特效 特效上目前虚幻4的特效还真的是不怎么好,特效编辑器还是很老旧的精灵动画作为原始资产,通过修改属性制作各种效果,这点上非常考验特效师的能力。我比较期待的是目前尚在开发中的Niagara粒子系统(编者PS:19年官方已经正式上线),
Niagara在官方活动上的介绍是一款基于节点式的特效编辑器,这一点很像Houdini,估计这个系统出来之后现行的特效制作理念会被颠覆,特效师们会迎来一个选择和挑战。
493f1b20322ee38c0f26d46b0778018a.png ▲  更类似Houdini的新粒子系统Niagara
布料模拟 布料模拟上,虚幻4本身也形成了自己的工具链,不依赖外部工具,完全在引擎内部实现,制作中可以随时调节。当然,使用Alembic导入外部更好效果的模拟也是一种方法,但是这真的不是虚幻4本身的长处,它的长处还是在于编辑一次,省去逐帧解算的成本。
毛发 毛发现在有两种方案可选,一是使用面片加材质实现,这一点在官方的公开工程Photorealistic Character里有完整的方案。如果有兴趣的话还可以查看由 Yibing Jiang公开的文档。这份文档里不仅讲了毛发,还讲了角色材质方面的内容,是一篇非常好的讲解材质制作思路的文档。
1fa8099ec57d7b07858ffbc2e1ad053f.png
▲   使用面片方式的毛发处理 毛发还有另外一个方案可选,就是Nvidia Hair Works,这个方案就像是实时渲染里的Shave,不过缺点就是很吃性能,另外就是开发完成度不高,使用上不那么好用。
86c012924fc5b05056d21ab4ac367712.png
▲   使用Nvidia Hair Works方式的毛发处理 (编者PS:在最新4.24版本中,虚幻增加了 真实毛发渲染与模拟,其使用基于丝线的工作流,能为每根头发渲染出准确的物理运动  )
87bda997543e75597383eb04d061ecb1.png ▲   基于丝线的最新毛发系统
灯光 灯光环节需要说明一点的是,
虚幻4的灯光效果很大程度上依赖烘焙的效果,这在资产制作上要求场景模型必须要有2个UV用以生成lightmap(灯光贴图),烘焙之后,光线追踪的信息会存储到lightmap上,保证引擎运行时候的效率和效果的平衡。灯光环节也要注意灯光应该存储到独立的Sublevel里,这样切换不同光照方案的时候会很方便。
4b3b7c509c892d19dbd1a5b2c3028263.png ▲   开启体积雾后的体积光效果 灯光上有非常多的细节要注意,例如要塑造体积,前景和后景的对比,冷暖对比,色彩饱和度等等,所以一名出色的灯光师最好是学摄影出身的,这样学校里教的理论知识在工作上都能用得上。灯光的使用上有很多虚幻4区别于Maya的技巧,毕竟实时渲染和离线渲染在实现方式是非常不同。
一个好的灯光师会把之前的素材升华,提升几个档次,所以一个优秀的灯光师在动画团队里非常重要。
Sequencer 虚幻4推出的Sequencer(虚幻4的多轨迹编辑器)是款野心十足的工具,它基本就是AE和Premiere的结合体,在Sequencer里可以完成非常多的事情,例如镜头、剪辑、音效等,用的好的话抛弃Premiere都是有可能的。
Sequencer就相当整个生产线的枢纽,在sequence环节把之前环节的素材全部装载进来进行编辑,在这个环节可以回看之前所有环节的东西,所有问题也会在这个环节暴露出来,这个环节会反复的修改和调整。
cb2a0ec5c7c0f6b29028dd1600af28c8.png ▲   虚幻引擎自带的类似视频剪辑器的Sequencer系统
相比传统流程Sequencer提供的自由度简直是太高了。镜头上既可以选择在Sequencer里创建也可以导入DCC里的Camera,这点上也是看团队的选择。在官方放出的Sequencer工程里,可以看到完整的Sequencer使用方法,例如Master Sequencer,这点在团队工作上非常重要,可以让多人编辑变的很安全,这也是非线性的体现。多人同时编辑后同步到Perforce或Svn,结果即会同步(虽然Maya也可以使用钩子文件的方式实现,但是真是觉得Master Sequencer更好用)。
efc8bb37d2889bc14731e16536125f8c.png ▲   Sequencer相当于所有资源整合的中枢,导演的监视器 到Sequencer差不多是倒数第二或第三的环节了,
后面两个环节有可能是使用Sequencer输出后再调整和调色,这里可以使用Nuke或DaVinci。如果使用Nuke的话还要对输出做二次开发,对模型进行ID分配和逐通道输出(这里我是通过修改材质实现了ID和Z通道输出)。
二次开发
虚幻4目前的难点之一就是要做一定程度上的二次开发,以完成功能上的欠缺 ,这点估计虚幻官方会在未来几年逐渐完善工具链。
赛璐璐风格化 赛璐珞渲染在虚幻里也能实现,目前来说很少有项目应用到,这个风格上的选择会很大影响制作细节上的调整,几乎是贯穿整个流水线的,如果采用的话对在项目前期一定要做好充分的技术准备。我在这方面做过一个简单的测试,感觉技术上难点克服后就是流水线的问题了(动画制作总是逃不开流水线的问题)。
d1e9a26beb01606105252773e08abefe.png
▲   虚幻4中实现的赛璐璐风格画面
模块化资产 模块化资产这点其实是游戏资产里一个很基础的东西,这一点贯穿了资产创建环节,是一门非常细节,讲究设计的实现方法。
其目的是为了实现资产的最大化复用,减少额外的成本浪费。这一点上纹理有纹理的做法,角色有角色的做法,建筑有建筑的做法,是一门在细节上相当耗神的事情,哪一块儿展开都能讲半天。
e26da2c5ef08ee820fe4f2d1f2dda6fd.png ▲   Quixel的数字扫描资产在UE4中的模块化运用
工程管理结构
工程结构是一项对项目管理非常重要的知识点,可以说是项目的根本 ,如果初期没有做好规划的话,后面的项目会如一团乱麻。我在实际项目中总结了一个结构,在我的认识里还算是比较有条理的。这个结构基本是瀑布式结构,DCC资产和虚幻结构分离,DCC在前,虚幻制作资源在中和后。前面的DCC资产不以集数分类,以种类分类,不同的资产只要是在一个种类里就在一个目录下,例如:
工程目录:
e74ca13bd32d122686a26773bec4e7a1.png
资产目录:
90087ea2e3771bb7fd4113a125284237.png
动画目录:
24576326aa793f587e4dbf302e9488ac.png
命名规范因为需求和功能不同需要制定针对不同类型文件的规范。 例如资产: ch_mc_WangXiaoMing_set_01.fbx mech_boss_DaJiQi_01_nor.tga 例如动画: S01_ep01_seq01_shot01_WangDaLi_171201.mb
其他 虚幻4自带的
后期处理体系 (PostProcessVolume)是非常方便的处理画面风格的方法,虚幻4现在这块儿很强大。蓝图这块儿目前接触的主要是在
AI角色
集群动画上。因为虚幻没有现成的集群动画插件,这块儿就考验团队的二次开发能力了。制作中的鬼影问题是由于TAA(时间性抗锯齿,temporal anti-aliasing)造成的,这个问题在一位图形程序员朋友的帮助下才解决的。实现方法是修改控制台里TAA和前后帧的影响权重,使得鬼影现象弱化,但是这样做会让画面变的锐利感很强。
d6e4860012911bb83736e2986464bc33.png ▲   利用虚幻中的后期处理体积可以做到快速的画面风格化
f3908cf9a80f1a03bd761ade0cea48ac.png
关于团队建设 几个问题点说完了,说点别的。动画制作有这么一个说法:50%-60%是
技术因素,前面说的一堆技术因素,它决定了什么可用和怎么用。20%-30%是
团队和人才,团队里有管理层、中层、执行,这块儿决定了合作和能力。还有10%是
叙事和故事,这块儿之比于灵魂,
一个好的叙事者即便是前面的工具和技术落后,团队有短板,也能用他的叙事能力补齐。最后这10%才是最难的。
d3bf70bb68bf8fa403fbb309eba8f2c6.png ▲   《堡垒之夜》动画片段的初期故事板
说一说团队,一个以虚幻4为平台的动画团队在建立之初最好是个小而精的团队,有4-5个关键岗位的人完成关键技术点的验证,把整个流程跑通。 然后再根据项目扩大团队,从新项目,小项目做起,最好不要有历史包袱。执行人最好要有相应的技术背景,并且担任过团队管理角色,以便能从整个流程的角度建立流水线,把风险降低到最低,理想情况下是这样。 在难以找到执行人有丰富的技术背景下(这个情况应该比较多),这个时候就要保证用科学的方法和态度来一步步推进了。首先实现技术上的积累,走通流程,克服或绕开技术点,然后逐步推广增加人员操作熟练度。
人是一步步成长的,得花时间,从小处入手,慢慢成长才是这个事情的自然发展规律。

fbd837a38357ea03a9336ab1b608df75.gif

▲   外国团队用全虚幻引擎流程制作的动画《Zafari》 前面我提到的每一项环节也许就寥寥几百字就介绍完了,但是真相是每一个环节都有很多坑,都需要专业的人员在一个方向上付出长久的努力和学习才会有所建树,这不仅仅是个人的努力,也有赖于外部的培养,
能够提供空间给专业人士成长的空间。 流程和技术点我依据我所知的知识都列举出来了,不过有样东西我还是想唠叨一下,单纯的看完此文其实对虚幻引擎制作也只能说是了解,要想可以实现会不会就一定要做一遍,
会不会取决于做没做,好不好取决于做过多少遍。
f3908cf9a80f1a03bd761ade0cea48ac.png
关于未来前景 游戏和动画的差别。游戏开发,尤其是中国的游戏开发,在流程上欠缺的东西太多了,一旦做高水准的项目,立马就会把之前的不足暴露出来。动画则是发展的太晚,大环境没有给人才成长的空间。 动画圈虽然不大,但相比游戏制作的门槛却高不少,对团队和技术的要求都高于游戏,即便是发展很好的动画公司,也不过几百人,而几百人的公司规模在游戏行业还是挺多的。
总体看下来就是觉得动画更难做,更不好做 ,这就是我对游戏和动画的一点看法,多的就不展开了。

9cae06d044389121a65c36755f79f2de.png

▲ 非线性流程可以释放更多的创作自由度 最后一点是关于
技术爆发。虚幻4目前来说制作动画片是完全可行的,优势也挺明显,但是还没有到技术上完全碾压离线渲染的地步,我估计这也要有一个长达几年或十年的发展期,给技术发展的时间和人才成长的时间。
我的看法是在可预见的未来,实时渲染制作动画一定会成为业界主流。 此篇文章有我的经验,也有别人的分享,不全是我的个人成果,尤其是在观点上的东西,有不少业内人士多年的总结经验,在此感谢与我无私分享的业内大咖。

bf45c0eceda64f75b8aa4b212225070d.png

da099d7e76f58572e82ed244decb311d.png

转载地址:https://blog.csdn.net/weixin_39626369/article/details/111049859 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:springboot修改端口号_SpringBoot系列教程11--小花样之SpringBoot其他常用配置
下一篇:python四级词汇采集_python+NLTK 自然语言学习处理四:获取文本语料和词汇资源

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月24日 06时44分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章