毕业论文
您现在的位置: 演出 >> 演出发展 >> 正文 >> 正文

不看不知道,原来游戏动捕流程竟然有如此多

来源:演出 时间:2023/12/9
郑华国 http://disease.39.net/bjzkbdfyy/170519/5387140.html

以下文章来源于腾讯游戏学堂,作者Phil

腾讯游戏学堂.

文/Phil腾讯互动娱乐技术美术

导语

动作捕捉对于传统动画来讲,是一个革命性的革新。最开始是应用在影视领域,但近些年,越来越多的游戏企业用到动作捕捉,动作捕捉的核心亮点无疑是它能大幅度提高游戏制作的效能。怎样更好地把动作捕捉的优势充分发挥出来,游戏动作捕捉环节的上下游工作无论是流程执行还是技术标准上,都能够快速对齐,是笔者写这篇文章的目的。

首先,提到动作捕捉,一般会有朋友问到我,它与传统手K动画比较起来,提升的效率大概有多少?这里我列了一个大概的表格。假设一个资深动画师手K动画,一天能K10秒的话,我们设定一千秒的动画量,来加以比较。

优势很明显,纯手K与动作捕捉系统的效率成百倍的提升。而且,动作越复杂,这个效率提升体现的越明显。

从表上可以看到,手K的优势就是,它的制作流程要比动作捕捉简单,我只需要投入一个人力、一台电脑就可以,但动作捕捉是需要配备一套过硬的设备和一支优良的团队来支撑的。

另外,动作捕捉虽然快,但它的艺术感觉是由演员的表演决定的,而手K则是由动画师来决定。一个好的动画师,很明显在艺术感觉上是要高过纯动作捕捉出来的数据的。

那这就产生了我们目前的流程:动作捕捉完成之后,还需要动画师参与,对动捕数据进行精修,所谓精修就包括对动作的艺术化处理这一块。

那么正式开始之前,我先跟大家介绍一下动作捕捉的分类:

(1)光学式动作捕捉

为目前应用较为广泛的方案,其实现主要原理是用分布在空间中固定位置的多台摄像机发射出来的光线,把贴在演员身体的关节部位,具有特殊反光材质的marker点,反射到动捕软件里面,形成数据并记录的一个过程。

(2)机械式动作捕捉

借助机械装置完成运动信息的采集。它由多个关节和刚性连杆组成,借助安装在各个关节处的角度传感器完成各时刻的关节形态的采集,以此可重绘出该时刻被捕捉对象的形态。

(3)电磁式动作捕捉

系统主要由电磁发射源、接收传感器和数据处理单元所组成。由电磁发射源产生一个低频的空间稳定分布的电磁场,被捕捉对象身上佩戴着一些接受传感器在电磁场中运动,接收传感器切割磁感线完成模拟信号到电信号的转换,再将信号传送给数据处理单元,数据处理单元则可根据接收到的信号推算出每个传感器所处的空间方位。我们常听说的诺伊藤和x-sens就是这一类。

(4)声学式动作捕捉

主要由超声波产生器、接收器和处理单元组成。超声波产生器不间断的向外发射超声波,接收器内部有3到4个超声波探头组成,通过超声波到达不同探头的时间差以计算出对应接收器的空间位置和运动方向。这个引用领域比较窄,因为对声音环境要求极高,因此很少商用。

(5)视频捕捉式捕捉

主要模仿人眼的原理,利用空间两个摄像头在某一时刻的所拍摄的两帧影像之间的对比识别出捕捉对象和完成对捕捉对象的定位。这个很可能是以后动作捕捉的黑马。

当今动作捕捉按照捕捉形式,可以分为游戏动捕、剧情动画动捕、影视预演动捕、沉浸式AR/VR动捕这四类。但其流程跟绝大多数工作的流程差不多,都分前中后期。但不同的动作捕捉类别,他们在前中后期所做的事情,是不太一样的。我就分享一下游戏动捕和剧情动画动捕这两个大类别吧。

动作捕捉,前期环节所投入的时间比例还是挺多的,我们项目组这边虽然也是前期准备挺多,但有时准备的不够精致,也有时准备的不够充分,这样的准备同样会为动作捕捉最终效果打折扣的。

游戏动作一般会分为这几个类型,像大厅展示动作,我们一般会有明确的想法或参考的,可以提前给演员,让他在正式捕捉之前把动作熟悉完成,尽量挑一个上午时间集中捕捉,因为大厅内展示动作表现形式比较分散,我们对展示pose的要求又高,演员来回切换动作方法也不太能快速进入状态。我们建议集中一起进行捕捉。

剧情动作,所要考虑的事情远比其他动作类型复杂的多,所以也是前期准备工作做的最多的一个类型。如果涉及到强交互,我们要不停的换道具,这可能导致捕捉效率的拖延,所以在拍剧情动画的时候,要给自己留够拖延的空间,另外如果不是强交互的道具,我们没必要准备道具,因为准备道具也是需要花费现场时间的。

游戏内动作,都是一些机制性的动作,因为演员表现方式单一,在前期工作准备充分的情况下,反而是最出效率的一个捕捉类型,动作捕捉安排的时候,我们尽量安排在一个集中的相对较长的时间段。

着手准备工作时,游戏内动作因为要考虑到动作融合/切换的问题,却是动作捕捉环节里最容易出错的地方,因为它需要在我们动作设计之初,找到符合逻辑的融合点。为了避免错误的发生,我们可以用惯性捕捉设备,把程序拆解好的逻辑动作点,提前进行一遍动作预演,不用精修,直接把导出来的数据往引擎里面放,进行一遍验证。这样做的好处是:①一旦发现错了,我们直接改了逻辑错误;②虽然美术由于表演功底或者身体原因演不出自己想要的效果,但这些视频数据可以给演员,在现场讲戏,作为一个实体性的参考,让演员好快速适应。

另外,动作拆分该怎么拆合适,是不是必须拆成像开发逻辑这样详细?显然不是,其实动作捕捉拆分动作的原则是尽量方便现场捕捉,同时又能完全包含程序给到的动作逻辑表。

这张是引擎里体现出来的引擎思路,那么具体在场地捕捉的时候,我们应该捕成几条呢?其实最好的答案就是拍成一条,我们在后期精修动画的时候,再把程序所需要的逻辑动作拆开,这样动作能够无缝衔接。但演员可能一次演不完,或者场地不够长,等因素的影响,我们有拆成两条,再多就显得散了。拆得越散,越会影响现场捕捉的效率。

这只是举个例子,实际情况可能比例子更复杂,但请记住原则:尽量方便现场捕捉,同时又能完全包含程序给到的动作逻辑表

如果我们流程上,先用惯捕粗略捕捉完,对逻辑进行一个快速的验证后,程序还能根据你导进去的动作进行深入开发,我们美术这边,着手现场捕捉,然后对动作进行艺术化处理等工作,会更好。这个流程在EA育碧索尼等一线游戏大厂已经开始使用了,这也是3A游戏的一个标准流程。

另外,我们还可以根据这个视频,告知演员我们想要的节奏和幅度,以及表演风格。有了这个对比视频,对于演员来说会更直观。

验证的另外一个好处就是,辅助统一系统内的参数标准,比如我们捕捉一个标准的八方向,走路的速度是一秒几米,小跑的速度是一秒几米,快跑的速度是一秒几米,向左向右跑的速度该怎么控制,这些统统都能在引擎里快速验证,而且进行统一,这些工作在正式捕捉之前很有必要去做。

我们动捕之前,往往会容易把这个忽略了,这就导致我们当时花人力捕捉完了,后期往引擎里放,却发现NPC的小跑只是主角的快走,这速度差别我们在现场是看不到的,因为我们可能是在不同时间段用不同演员进行捕捉的。

那么接下来问题来了,数据已经捕捉完成了,我们应该怎么处理这批数据,要么就是花人力,调节奏;要么就是重新规划速度,重新捕捉。但无论哪种操作,都是浪费资源的。我们是最不愿意看到这样的事情发生的。

而且一旦标准统一下来,接下来我们就会复用给游戏内所所有角色。

这是动作设计的预演与程序逻辑验证:

为什么非要强调表格的制作呢?接下来我给大家看一下影视拍摄中的表格制作,影视拍摄动不动就五十上百人,期间各个组各个角色要想保证工作的同时性,完全是按照这张表格来的。而且影响影视通告的因素有很多,比如特约演员的档期,拍摄的场地等等。而动作捕捉拍摄只是影视拍摄里面的一个拍摄场地,所以影视拍摄不一定能考虑到动捕拍摄的所有case。

相比于影视拍摄通告,动捕拍摄表的功能就显得简单多了,它只是为了方便大家现场沟通,且有个参考依据。那么我们在现场捕捉的时候,到底哪些信息需要沟通呢?这几张表格,都是现场要沟通的内容。

但每个项目组的表格,那真是八仙过海各显神通,我们不奢望所有表格都是统一的,但是红框里框到的基本事项是一定要有的。因为这些是现场项目组跟我们最便捷最高效的沟通方式之一了。

主要包含:

序号,为了方便我们现场沟通;(举个例子,我说两个case。就这张表格来讲,如果动作指导,要告知动捕师,接下来我要捕捉:攻击动画、移动攻击,这样方便;还是我直接说我要捕捉第二条方便?)

文件名称,这是动作捕捉必须要给到的;大家一定要看制表说明。需要提醒大家的是,因为大多数国外软件,是不能识别中文字符的,我们会把大家起的文件名称录入到我们动捕软件里,所以我们给文件起名的时候,一定要注意不要用数字开头,不要用空格断词,不要包含除了下划线以外的特殊字符。

帧率这个事情,一般影视人,或者我们做gameplay的时候,需要提示给我们。默认情况下我们会把软件捕捉帧率设置成60FPS,这是保证游戏帧率的一种默认设置。

剧情表格的制作要比游戏内动作表格的制作要复杂很多,我们不仅要考虑镜头的归类,还要考虑现场捕捉的时候,演员一旦穿上动作捕捉服装,再换别的演员,也是要时间成本的,所以表格制作这一步,我们要分时间段,以哪个演员的动作优先捕捉为准。

另外推荐的是,尽量用最少的演员来捕捉最多的角色,这样既省了演员成本,也省掉了现场的时间成本。

过场动画中,如果有部分镜头是手持移动镜头,动捕基地可以提供镜头运动的运动轨迹,这种方式要比K的更为真实。

除此之外,我们还要考虑的是,现场交互所使用的道具以及道具数量,动捕基地一般看不到游戏内的场景,但我们可以用动捕基地提供的道具进行替代。动捕基地文件夹内,建立了一个虚拟场地,大家可以用这个来衡量演员的大概走位,我们好提前准备道具并进行布场。

最好的道具捕捉就是,虚拟比例跟真实比例一比一的还原。这张图,是我们根据我们引擎里的车的模型,抽象出来的龙骨骨架模型。其实我们在动捕的时候,要的很简单,

一个是车门,车的高度,方向盘。这三处是我们跟车有强交互的地方。所以被抽象了了出来。

有人会问,这个道具我们该怎么用?

我们会捕捉到骨骼的运动轨迹,然后项目组把骨骼动画给到引擎。比如转动方向盘,比如开车门,这些轨迹动画都可以被捕捉到的。

跟朋友一起玩游戏,他们往往会吐槽,游戏动作风格过于统一。这跟大家简单分享一下演员甄选的一般流程,供大家参考。

前两个步骤大家一般都能想到,但在测试这一步,我们往往会忽略,测试小样是判断演员演技是否符合项目预期的重要标准。文字脚本测试,是测试演员的创造力和反应程度,专业的演员和不是很专业的演员在这一步就体现出来了,专业的会根据动作指导抛出来的点进行二次创造,属于效果的加分项,一般的演员则会根据动作指导的表演按部就班的演。测试结果越好,现场的沟通成本就会越少,我们出来的表演效果也就越好;视频模仿是针对特定的IP,需要塑造跟视频里的角色一样,或这相似的游戏角色的情况下,而发的测试,这个测试主要考验演员的模仿功底。

表演过关后,我们才会考虑比例和体重的问题。如果两个人的表演都符合项目预期,那加分项就是形体比例和体重的事情了。测量虚拟角色的方法,maya和motionbuilder里都有。越接近虚拟角色,演员的表演效果就越符合我们的期望。这跟retargeting有关,角色比例越接近,还原度越高,retargeting阶段需要调整的越少。

我们理想的演员选择是:演员的表演方式符合我们对角色性格的塑造,且身高比例相差不大。

但我们一定把表演效果放在最前面的位置。举个例子,一个懂得动捕表演,又知道游戏机制的动捕演员,他一天的工作量可能要比一个对动捕和游戏不了解的演员出来的有效数据质量好的很多,且数据总量也会大很多。

这是面部捕捉的工作流程。接触到面部捕捉,我们提的最多的一个词就是facs系统,即面部动作编码系统(FacialActionCodingSystem)。

随着游戏品质要求的提高,表情捕捉的需求也越来越多,这里跟大家分享一下一般表情捕捉的工作流程。在此之前,我先罗列一下大家经常问到我的一些问题,供大家参考一下:

面捕效果

……取决于美术素养

·前期绑定蒙皮、中期手Key、后期精修都极大的影响最终动画效果

……取决于机能限制

·PS4战神奎爷脸上有根骨骼

面捕效率

……取决于演员

·缺乏预演导致的NG是最浪费时间的

……取决于面捕软件能力

·更强的识别精度、协作能力

……取决于美术工具

·绑定蒙皮、格式转化、文件流转插件

……取决于面捕TA的专业程度

重点来了,面捕绑定应该注意哪些问题:

1.大纲视图里所有内容的,所有层级的,名称都不能重名。重名会导致这跟骨骼加载不到面捕软件里,从而影响最终效果的表现。

2.骨骼轴向要统一。这是绑定的统一标准。

3.不要有复制的节点信息。特别是max里面的镜像功能,会导致整个一边的骨骼轴向相反于另一边。

4.

5.如果有Blendshape,拆分时要注意尽量拆细,然后Blendshape之间的通道组合,尽可能用最少的morpher组合成尽可能多的我们所需要的表情。这时,你会发现facs真香。

[以上图为界限,morpher的upper部分和lower部分要分开][骨骼JointOrient位置处要归零,否则到引擎里面部信息会乱掉]

[如果有控制器驱动,一个bone或morpher不要被多个控制器控制,但一个控制器可以驱动多个bone和morpher]

技术性对接:

项目前期,我们会给到vicon模板的绑定。为什么模板是T-pose、因为无论是rig数据还是现场实时预演的调试,都是基于humanIK的调试来的。

所以我期望项目组给到的fbx文件是一个做好角色化的T-pose文件。这样会节省我们现场的时间成本。

有关骨骼轴向,这是一般maya绑定的普通标准,在这里稍微跟大家提一下。

敲一下黑板,注意这个问题,max绑定有的项目组会把胸部骨骼P到脖子上,这不符合动捕的驱动,这也是max绑定里最常见的不符合动作捕捉的绑定方式。它应该挂在脊柱上才对。

道具的捕捉,是基于我们的角色,并且跟动捕演员有极其接近的比例的基础上制作的,它的好处是,能自然地捕捉出武器的运动轨迹与质感。最好的道具捕捉就是,我们根据虚拟道具的尺寸大小,模拟出跟虚拟道具一样大小的实体道具来。它需要有明确的骨骼绑定,且有确切的骨骼朝向。上图是虚拟道具,以及骨骼绑定位置,下图是调整好的在动捕软件里的道具呈现

动作预演

这是在强调预演之后给到我们的文件应该是只有动捕基地虚拟道具的一个关卡蓝图。

这是正式捕捉之前的最后一个环节,对于游戏内动作,我们只需要用惯捕设备提前录制一遍动作,然后放到引擎里面验证一遍,以此来证明我们的逻辑没有出现错误。同时我们也能把自己录过的数据给到演员做参考,最后如果动作幅度没有那么大,或者数据要求没有那么高的话,我们可以将部分动作直接采用,节省正式动捕的工作量。

如果是剧情动画,我们前期对镜头有个大概的要求之后,后期可以在动捕基地把我们需要的运动镜头和主观镜头的运动轨迹捕捉下来,这样的好处是,镜头运动比手K更为真实。全景捕捉时,我们可能需要记录相对位置的细节,这样方便我们统一移动捕捉数据。剧情动画一定要跟现场场记。方便记录现场细节,比如捕捉时零点的相对位置、镜头的起止帧等。

这是虚拟基地场景的使用方法,最后拿到基地里的是单独的,没有游戏内元素的一个关卡蓝图文件,方便我们预演使用。

虚拟预演这个环节在国外已经很普遍了,但是在国内还不够成熟。有了上面的参考,我们前期准备工作时,就会更充分,这是我们在模拟山体斜坡的一个场景

特殊捕捉:除了要做以上的所有准备之外,我们还需要我们的特型演员至少提前两次到动捕基地,我们有大量的前期准备工作要做:像贴点方案的研究、动捕骨骼模板的创建、效果测试与优化等等。

最后才能呈现出类似这样的实时效果。另外,特殊捕捉是由于演员的特殊性,我们很难控制其表演。我们建议去找专业的动物训练团队参与,比如之前一次狗的捕捉,就会有专业的训犬师在现场指导。

动作导演需要知道的几个技术点:

1.动捕拍摄可以一个演员表演多个角色形象:跟影视剧拍摄不同的是,动捕拍摄最后的动作是要映射到虚拟角色上的,这将会多了好多可能性,我们可以让一个演员去表演男女老幼,只要导演现场把控虚拟角色的表演效果就行。表演到位的情况下,这样现场的效率会更高更方便。

2.虚拟拍摄时,场面的调度是可以在后期软件里面修改的:我们现场不用去纠结虚拟拍摄时的这个镜头需要再广一点,那个镜头需要再推几度这样的问题,现场的虚拟拍摄只是给到导演一个节奏呈现的感觉,最终的镜头画面是可以在后期软件里实现的。

3.动作捕捉场地的中心位置,是动捕数据的最ok的位置:对于一些动作幅度表演比较小的镜头,我们的起拍位置尽量控制在场地中心。

4.部分交互性表演可以不同框借位表演,这样的效果会更好:比如一个大人表演小孩子,我们首先要考虑的是由于角色比例的不同而导致小孩与大人的眼神对不上的问题,这时我们可以跟演员指定某个视点,以此达到实现匹配的效果。

现场效果的把控尺度

1.动作的夸张度:一般来讲,演员表演会弱于我们在虚拟角色里的夸张度的。动作捕捉动作的夸张度在现场的时候我们要尽量做到,这个时候现场指导要对自己的角色的度要有基本评判,特别是风格化的动作,尤其要指导演员表演出自己想要的效果来。在导演根据演员本身表演ok时,建议要再看一遍MB里的角色表演。

2.表演的基本物理规律:因为现场捕捉不可能完美还原真实场景,由于演员状态或者道具抽象的问题,导致某些物理效果需要用表演来弥补。这一点是最容易被忽略的。比如枪的后坐力、武器的重量感、对打时的反弹力度等等,都需要现场指导现场把控。

3.动作捕捉的边界:当然动作捕捉也是有边界的,就目前来讲,像下图这样的,动作捕捉是很难捕捉出来的。很大程度上,动作捕捉还是往真实度这个方向靠拢的。

节奏把控

节奏是大家捕捉的时候经常遇到的问题。往往捕捉完后,才发现游戏动作节奏,一开始没有进行一个统一规定。捕捉出来的数据节奏参差不齐。到时候还要重新捕捉,浪费时间。最好的做法是,策划前期规划好节奏,明确告知美术。跑、走、小跑。

这个节奏是从技术层面讲的节奏,我们需要跟开发对齐,进行量化,比如跑是一秒几米,走是一秒几米。

另一种节奏则是艺术层面的节奏,即演员表演动作的层次性。如果一款游戏,我们仅仅是,模拟现实中的人,进行常规表演,那么这款游戏的动作,是没有灵魂的。所以我们要想给动作赋予灵魂,那就需要在动作设计的时候,给他加上符号化的动作。动作有了韵律感和结构感,我们的游戏作品就会变得立体化。

我们做这么多就是为了保证游戏动作节奏的统一性。

总之,现场指导是整个游戏制作环节比较重要的一环,它直接决定了游戏的品质和游戏的制作效率。期待大家能够重视。

现场人力分配

动作导演/指导:指导动作

建议项目组自己出动画导演:cp导演的风险1.指导是出于他们后期修动作好修的初衷指导的;2.一个导演指导多个项目,容易导致游戏动作同质化。

场记:记录现场、音效播放

预演控制师:引擎调试、记录虚拟角色在虚拟空间的位置信息

这是动作捕捉的最后一个环节。讲到这里,大家发现没有,要想完全发挥出动作捕捉的能力,单靠我们努力还远远不够。因为这些牵扯到上下游的细节太多了。我们应该一起努力,共同进步,才能把动作捕捉的能力体现出来。

在这里复盘一下数据的使用。我们一般会用到下图中画红框的里面的数据。那么什么时候会用到元数据呢?因为我们的retargeting是批量做的,所以不会每条都很精准,就是当你对某条retargeting数据的细节不满意,想重新re一遍的时候,我们才调取元数据。

有时有肢体和表情同时存在时,我们会根据项目要求或者合并到一个文件里,或者肢体和表情分开给到。Arthub的另外一个好处是,它可以在上面实时预览FBX文件,供我们检查数据用。

由于vue是固定机位,在不移动VUE摄像机的情况下,全场只要有一个就ok,可以复用到所有文件。下面是它的具体使用方法。

这一步大家往往会忽略。它用在动画精修环节。对动画师十分友好

Rig数据的几种方法:

最常用的方法就是humanik,fbx驱动数据

为了保证数据质量,我们会用到c3d分别驱动上下半身,然后用fbx驱动手指骨骼,具体等苏红星分享的时候,他会告知步骤的。

影视里面还有一种是用约束驱动,这种适合具体的项目组进行使用。

现场技术这一块儿,其实大家都想追求所见即所得的视觉效果。这样大家可以在一个小工作室里就能拍出CG大片,不仅节省了资产成本,同时也有现场的即时性。未来一起拍片的可能就是一堆技术人员,加上一群导演。

由上面这个视频我们不难看出:

无人机模拟飞梭拍摄

滑轨摄像机实拍

斯坦尼康实拍

VR眼睛实拍

未来虚拟拍摄就可以做到allinone。一部影片的诞生,可能是一个真正的元宇宙的开始。

转载请注明:http://www.0431gb208.com/sjszyzl/6755.html