[生化危机5]的图形渲染讲解

[生化危机5]的图形规格

    首先,还是像以前一样,看看[生化危机5](以下简称[BH5])的图形基本规格。

    渲染分辨率是1280X720像素,帧率(Frame Rate)规定为每秒30帧(30fps)。场景中对应GPU的几何渲染平均为300万到500万多边形。这个数量包含了为生成动态阴影shadow map和其他的动态素材等眼睛无法识别的几何体渲染消耗。眼睛可以看到的多边形数由场景来决定,第一阶段的非洲村民Majini(译者注:“Majini”是生化危机中对感染了PlagasII型和PlagasIII型人类的称呼)的战斗,大约要用50W左右多边形(其中半透明是10W多边形)。

[游戏内的线框(Wire Frame)截图] 

  
游戏中一个场景的线框截图和最终截图



剧情场景的线框截图和最终截图


[Chris和Sheva的线框图]





   
Chris和Sheva的线框截图和最终截图 

    1个场景里的纹理(texture)的总容量是180MB到200MB左右。要把显存预算的6到7成分配给纹理。游戏中的主人公Chris,一个角色的多边形总数,面部和身体总数是15000多边形。在Movie场景里,因为有面部特写的关系,会有把面部切换成4000多边形左右高品质版的情况。这样的话,1个角色就有多达2W以上的多边形了。

    LOD(Level of Detail)用3个等级来实现。以Majini等配角来说,最细节的模型为4000多边形,中等距离用2000多边形,远处的完全低细节用500多边形。还有骨骼的数量也会跟着LOD等级变更并做微调。

    身上的光溢出效果以Sprite(Billboard)为基础,镜头光晕(lens flare)是在美术阶段制作的,只在特定的场所中出现,以特定的角度和视线关系决定看到太阳时的特效。景深(DOF)的表现通常不在游戏场景里采用,只在Movie场景里出现。

[LOD(Level of Detail)]



杂兵敌人角色(Majini)模型中看到的LOD的区别,从上向下是500多边形,2000多边形,4000多边形,多边形低的模型一般用在远处显示。




[BH5]的LOD系统不只是多边形,也可以进行骨架数的切换。从上开始依次是35关节,57关节,91关节,注意指关节详细度的区别。

[景深(DOF)的模拟]


景深模拟开启/关闭的比较截图,根据焦点平面(forcus plane)的偏差,应用了很大的模糊滤镜来实现。

    物理模拟采用的是HAVOK5.5,使用了里面的HAVOK PHYSICS、RAGDOLL等。这个是从[失落的星球]开始就没有很大变化的部分。关于根据地面倾斜和凹凸来控制人体角色的IK(Inverse Kinematics∶反方向运动学),是使用自制引擎来实现的。

    敌人的AI,以正统的权重路径探索为基础来运行。敌人AI设计成了如果不能看到玩家角色,就会暂时失去敌人位置的公平的设计,在进行路径探索后,提示敌人进行搜索玩家的动作。

[物理模拟的演示]

在BH5中,物理模拟采用HAVOK5.5。注意破坏的木桶碎片也能互相作用。

在[生化危机5]中的HDR渲染采用了相对亮度范围的手法


Valve实现的妥协方案的真实HDR渲染

    HDR(High Dynamic Range)渲染采用了RGB各8位的(RGB:888)的LDR(Low Dynamic Range)buffer的模拟HDR渲染。XBox360使用了RGB各7E3(尾数(mantissa)7位,指数(exponent)3位)。为了要和PS3版的视觉效果一致,所以成了要配合PS3的状态。

    模拟HDR渲染,是一种利用当前显示Frame的平均亮度,把HDR的信息动态得ToneMapping到LDR buffer来渲染的相对动态范围方法。例如,平均亮度是100.0,那么画面就是选择1/100就为1.0。使用这个方法,虽然在完成的Frame里缺少HDR信息,但因为系统把平均亮度控制着,LDR(0~255)拥挤在一起的结果,在某个阈值以上(例如240以上)的高亮度部分,使用bloom等做HDR效果的处理。

    还有,把HDR通过ToneMapping来渲染,对于高亮度部分,通过对LDR buffer使用bloom或glare等后处理的实现方法,在Valve的[半条命2(Half Life2)](HL2)里也使用了。

    PS3的GPU[RSX],是以NVIDIA的GeForce7800GTX作为基础而设计的,关于它的FP16-64位的真实HDR buffer,受到不能使用MSAA的限制。[HL2]和[BH5]的方法一样,Blending、MSAA等都是在LDR buffer里进行,在RSX上也很方便。

[HDR渲染]



在[BH5]上的HDR渲染是由相对亮度范围实现。

[光照溢出表现]


光照溢出表现的开启/关闭比较。这个表现也很意外的是基于Sprite的,没有通过HDR渲染的后期处理实现。

【千里马肝注:请注意下图中窗户处投下的光束效果,通常称作streak 即星光效果,将高亮区域沿指定方向进行拉伸得到,本质上仍然是模糊的运用,具体请见Kawase在GDC2003 的Presentation:Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)。按照此paper的方法,最终的效果的确不错,但是如果实用在浮点纹理上,开销将会很大,因为每个方向都需要进行数个pass再叠加,而每个pass里又有数次采样再加权合成。所以本作所用的方法,应该是渲染一些条状的透明片到LDR上,然后bloom出最终效果,手法虽然很老很不高科技,但是实用且好用。】

[镜头光晕]


上图关闭,下图开启。镜头光晕效果也是同样,由Sprite来实现效果。
「BH5」的图形,玩家最初的感觉是,角色们的面部演技的真实性得到了强化。就像前面所说的那样:包括Movie场景,[BH5]的影像全是实时渲染实现的,这和迄今为止日本制作的其他3D游戏中对角色的描写不同,可以说是[性质不同的真实度]。

    在实时3D图形范畴内的角色描写,很多时候看起来像人偶一样,那是因为表情的变化只进行了[眼睛张开的程度][眉毛的角度][嘴的开闭和嘴角的倾斜]等基本的脸部活动。这样可以实现比较漂亮的人偶或布娃娃的样子,但表情的表现很僵硬。
  
    要是用镜子看自己的脸,或者是非常注意的观察朋友或家人的表情就会明白,现实中人的情况,脸部肌肉的动作是有相当的动态性,只是笑的话,鼻子也会上下活动,即使是不形于色的表情,脸颊的肌肉也会活动。单单只是眼球周围和额头皱褶的活动,就可以表现出丰富多彩的表情。

    还有,在看电影DVD等视频时如果临时暂停,表演中的演员,偶尔会表现出非常难看的表情,这种让人忍俊不禁的经验应该都有过的。不论怎么样的俊男美女,都会在表情变化中的一瞬间出现难看的情况。然而在3D游戏图形中的美型角色,却没有这样的表情瞬间。

    这个虽然不能说是全部的原因,但是如果想要进一步提高3D游戏里人类角色的脸部演技的真实性,却是非常必要的因素。[表皮皱褶的正确表现][一瞬间偷看到的难看表情的追加],都不能没有不是么?因此,这种潜意识的插入一瞬间的皱褶动作和难看表情,体现出(制作组)投入到角色里的感情和想法,笔者是这样认为的。

    如果非常仔细得观察[BH5]角色们的脸部动作的话,就会看到瞬间作出很不好看的表情。女主人公Sheva等人,在倾注感情说话时,鼻尖会很明显而大胆的上下活动,看起来很让人在意。根据开发组的解释,这样的[包含难看的瞬间的真实表情变化],在[BH4]时就考虑实现,但当时的任天堂GAMECUBE和PS2的硬件能力很难做到,就放弃了。

平林良章先生[在迄今为止的3D游戏图形的脸部表现上,即使把脸部的表皮做动态活动,也是在顶点上做变化,各顶点的法线向量并没有变化。这样的脸上会和橡胶一样的顺滑,不论是这里突出,或是那里停顿,在外观上都看不到什么变化。那么,即使作出大胆的动作,也能维持并不丑陋的美型状态,虽然这样的效果有好的一面,但也有副作用,在提升真实感的表现方面是一个弊病。]

    到目前为止3D图形中角色表情的表现,即使脸部的顶点发生移动,这个扭曲所产生的阴影是不会显示出来的。脸部肌肉在运动,却没有产生阴影变化的问题。那么则需要相应改善阴影就可以了,而脸部的阴影如果简单的说就是褶皱。

    顺便说一下,褶皱的表现的经典方法虽然可以由法线贴图得到,但这个是面向作为细节表现的[小褶皱],而作出脸部几何体变化产生的大褶皱表现就无能为力了。

石田智史先生[在表现面部上的顶点活动的时候,把这个移动的顶点的法线向量和周围顶点的法线信息进行再次的计算,并做更新,引擎方面支持了这个结构。但是想把这些在(DirectX 9~10)的GPU上实现是很难的啊。因为必须参考这个顶点周围的其他顶点信息,所以这个计算只能在CPU里进行实现了。因为这样的负荷会相应得提高,于是只限定在CPU负荷低的Moive场景里使用,大体上,应用了这个处理的只有三位角色的脸。]

[法线信息的再计算]


上图是没有法线信息的再计算,下图是有。请注意脸部的大褶皱。

[法线信息的再计算演示]


上段是没有法线信息再计算的演示,下段是有法线信息再计算的。请注意后半绘画场景的表情。

    在「BH5」的角色面部表现上,使用了最新的面部捕捉技术。把46个标记点(Dot Marker)贴在人类演员的脸上进行表演,取得标记点的动画数据,虽然这些应用在CG角色上是较为常见的流程。但是在「BH5」中,在此基础上把通常标记点无法取得的如角色的视线、嘴唇的卷入,舌头的活动等动画也加入进来,目的是要做出更具真实感的表演。

    这些通常只会在长篇的全CG电影当中使用的方法,因为制作成本很高,导入到游戏开发里的案例很少。从这个意义上说,「BH5」是真正把面部捕捉技术运用到实时3D游戏图形的基准(Benchmarks)般的存在。

  [面部动画]

把带标记演员的动作应用在CG角色的Chris的演示影像。

动画里后加上的视线动作的演示

动画里后加上的嘴唇动作的演示

动画里后加上的舌头动作的演示

    [BH5]的表情动画,如果只从实时3D图形处理的观点来看的话,把面部捕捉技术作为基础,用生成的动画数据来驱动面部装入的骨骼,来对蒙皮做Skinning处理。新加的要素是,对Skinning后的各顶点的法线向量做再计算的部分。虽然只有这个新要素,但在外观表现上比以前都要真实。

    面部捕捉技术的引入,因为有过多的开发成本,不能在任何项目都随便的使用,但这个法线向量再计算是性价比很高的技术,今后,我预感可能要推广到更宽泛的应用里。

    此外,[BH5]的角色眼球的表现也是真实的,不过眼睛的湿润,要使用specular map来
表现,眼球的高光使用环境贴图和眼球用specular光源来给予,并没有做特殊的改变。眼睛中感觉到的力量,还是因为表情演技的缘故吧。

    因为本作的舞台主要是非洲,虽然各种各样的人种角色登场都很显眼,但皮肤的质感还是非常的真实。这个并不是用新的shader做出来的,而是将扩散反射和镜面反射组合,再用Fresnel反射来控制显示的结果。但是,为了能看上去合适,光源放置的方法上要反复钻研。

[角色模型]
  



   
从上开始是素体多边形状态,只贴基础纹理(base texture),应用了法线贴图(normal map),应用了specular map,进一步增加了specular mask的状态,再应用环境贴图的最终截图。

[纹理样本 texture sample]



从上开始依次是黑人角色的基本纹理,specular mask,normal map

在本次采访中,因为是和制片人竹内润先生同席而坐,虽然是在本连载中很少见,但也打听到了关于制作相关的话题。首先询问了作为[生化危机5](BH5)特征游戏性的协力游戏系统的实现经过。

竹内先生[这个说不定会让你感到很吃惊。在开发[BH5]的全部四年时间里,过了两年半的时候才决定把配置变更为协力游戏模式,这真的是很晚才做出的决定。开发方虽然有很多[不是吧,不要啊!]的呼声,但在策划和导演的反复会议中,如你所见最终还是确定了,并下决心一定要实现。]

    实现协力游戏模式的突然决定,在这里虽然有各种各样的理由,但最大的理由是因为前作[生化危机4](BH4)作为名作受到了高度的评价,所以切实的感受到了对[BH5]的期待远比预想的要高,为了可以确实地[超越前作],作为新要素要达成的就是[协力游戏模式],竹内先生回顾着说道。

    提到[生化危机]系列作中的在线协作模式,虽然有[生化危机 爆发(Biohazard Outbreak)]系列,但「BH5」的平台和引擎都不同,无法做到代码层面的沿用。在开发协作模式的网络代码时,毕竟都是自家公司实现的在线协作游戏,从爆发系列和怪物猎人系列的游戏开发团队那里,还是继承并活用了他们的经验。

竹内先生[可能很难让人相信,不过第2主人公Sheva的来由,其实是由于协作游戏要素的紧急追加而作出的折中设定(笑)。虽然让开发方产生了很大的混乱(笑),不过因为这个方针的大转换,从只是简单制作出[BH4]续作的意识,转变为要做出完全新作的[生化危机]的意识,感觉开发的士气反而提高了。]

    虽然这是在开发现场说的同情话,但这个有效的判断使得[BH5]的游戏玩法有了数倍的乐趣,如果是有这个游戏经验的玩家应该会100%的理解。

    接下来在本次的采访中,从个人角度无论如何都想问竹内先生的是关于[BH5]的操作体系。很多玩过TPS(Third Person Shooter)体系游戏的人,也许对[BH5]特征性的操作体系非常的吃惊,笔者也是其中一人。

    在「BH5」中,采用了平常用左摇杆做前后左右和方向转换,一旦按住右trigger就进入战斗模式,这时左摇杆就切换成了瞄准操作的操作体系。另一方面,右摇杆在移动方向上分配了不影响视线的平衡辅助操作(默认配置时)。

竹内先生[关于像TPS那样的移动时射击(一边移动一边射击)的实现,是在开发初期讨论最多的部分,开发初期的确实验性的实现了TPS那样的操作体系,但在这次[BH5]的游戏性中如果完全照搬TPS的操作体系,会让节奏显著的提高,经过判断我们认为这并不符合本作的理念。采用这样独特的[BH5]的操作体系是感觉到了责任,限制在现有的游戏手柄上,想把[生化危机]系列的操作体系继承下来。

    还有,竹内先生也强调了,这种个性化的操作,当熟练后就会感受到[生化危机]所特有的乐趣,本作毕竟不单纯的只是TPS,希望可以作为[生化危机5]来享受。还有,在最近的第三人称的TPS风格游戏中,有过于偏向玩家的倾向,玩家很难被杀死,[BH5]从制作上也有着避免与那些TPS游戏潮流同质化的考量。

    还有不太被知道的是,在游戏选项方面,可以把操作体系类型在ABCD中变更。对应默认类型A,类型C是像TPS那样的操作体系。按住右trigger,使用左摇杆做瞄准的操作部分是相同的,但可以用左摇杆前进和平移,用右摇杆转身和操作视点。喜欢TPS操作体系的笔者,用这个可以在VETERAN难度打到最后,还没有适应[BH5]操作体系的人,希望在放弃前可以尝试下类型C的操作。

    对了,购入[BH5]的人难道没有看过制作录像吗,PS3版同时被收录在游戏盘里,XBox360版启动后也可以在marketplace里免费下载,希望大家一定要看看。

[面部捕捉]

和好莱坞合作产生的最尖端的脸部表现。正如所说的,脸的动作数据虽然是提前取得的数据,但影像是由实时渲染得来的。

    通过与好莱坞的合作,从而制作出最真实的脸部表现。正如前面所说的,面部的动作数据虽然是提前取得的,但影像是由实时渲染得来的。

    这个录像是与面向好莱坞电影的CG制作工作室进行合作的样子。把这种对应电影的离线渲染的CG制作,尝试与CAPCOM方的实时3D游戏图形融合,其过程非常得有趣,后篇中将会详细得描述。但从最终效果上来说,在游戏中插入的Movie场景(过场动画)全部使用实时渲染的影像,因为故意加入了胶片颗粒感的噪波效果,以外行人的角度看起来感觉是预渲染的CG,有这样感受的玩家似乎很多,但实际上全是实时渲染完成的。

    感觉预渲染CG不只是在画面制作上有提高,在场景里被刻画的角色演技也更加真实。在Movie场景里描绘的动作和摄像机效果,这些都是合作来实现的,这样新的尝试从什么时候开始计划的呢?

竹内先生[为了实现谁都没有看过的高品质影像,就只有好莱坞了吧,是这样考虑的。实际开始合作,是在确定协作游戏配置,主人公是两个人,剧本被改写之后,是相当前面的时候了(笑)。]

平林良章先生[是2007年7月吧(笑),最初被命令要做好请乔治卢卡斯的ILM来制作的思想准备,于是非常惶恐不安得完整调查了相关的好莱坞的工作室。进行契约的工作室之一是参与制作了[斯巴达300勇士]和[绿巨人]的实力派工作室yU+co。动作捕捉工作室是和VICON的House of Moves签约。在[加勒比海盗]和[蜘蛛侠]等著名大型电影作品里有着良好的业绩,实际开始Movie场景制作是在2007年的10月底(笑),一般是不会这样的。]

竹内先生[不,因为是自己指导好莱坞电影的制作流程,所以从一开始就知道有胜算啊(笑)。在每年都制作出庞大数量电影的好莱坞,电影用的影像用几个月的时间就可以完成。而在日本即使拿出很多钱,同样的制作时间内,绝对做不出像他们一样高品质的作品。]

    虽然与好莱坞合作的预算需要保密,不过很清楚的是本作相比一般的PS3和Xbox360的游戏,在Movie方面花掉了更多的研发费用。CAPCOM在开发自制通用游戏引擎[MT Framework]时,是把制作费的高效化使用作为目标的,但在影像制作上分配了这样的预算是为什么呢?

    这是因为好莱坞在单纯的拍摄高质量动作场景上的经验和技术确实出色。以动作捕捉为例,能在工作室里跑摩托车,或者是把摩托跳跃的动态运动无缝获取的工作室,在日本国内好像并不多。而这次的导演,技术职员,动作演员都是启用好莱坞的职员,所以可以看出CAPCOM方面希望能够吸收好莱坞的这方面的经验,以及当中所使用的技术。由于和制作一个高端游戏预算差不多,可以说和好莱坞的合作是按竹内和CAPCOM的方式对将来的一种投资。

    对应好莱坞电影的CG工作室,确实适合制作电影品质的影像,他们处理的影像是以离线渲染(预渲染)为基础的。他们对于CAPCOM的MT Framework的表现力有着怎样的感想。虽然和本篇中心脱轨,不过是很有趣的一点。

平林先生[最初公开的预告影像,完全是公司自制的东西。把这个演示给各个好莱坞的工作室,虽然有好几个工作室说[不是离线的肯定做不了(不是实时的)],以yU+co为首的几个工作室看到MT Framework的影像后,发表了[用实时处理能表现到这程度吗,反过来(不用离线用实时)能表现到什么程度很有兴趣]的想法。

    [使用MT Framework竟然能做出如此高水平的实时渲染的影像作品],好莱坞方面的意见无疑间接得承认了CAPCOM的图形技术力和表现力,作为实现者,绝对有着非常自豪的感觉。

[面部捕捉2]


在生化危机5的游戏中加入了在游戏里很少使用的面部捕捉。这些影像是给生化危机5导入这个技术的实验影像。用面部捕捉不能获取的舌头的动作和和舌头的卷动等动作在后面制作加入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值