Power by Lenshuang~2+3D Game Vfx Base since 2003~2014
  • 2010年08月24日

    《战神3》制作解析 运用尖端技术营造史诗感受 - [游戏特效参考资源]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/lenshuang-logs/73673683.html

      专有名词部分的中译,笔者尽量使用网络所查到的一般译名;如果没有的话,就自己采用较贴切的翻译。

      GDC(GameDevelopers Conference,游戏开发者论坛)已经进入尾声。上个星期才经历过一次规模庞大的神秘海域2(Uncharted2)的技术检讨会,Digital Foundry(一个促进开放程序发展的组织)休兵一周,去好好地玩战神3。

      我们先前才报道过,Sony Santa Monica团队努力地针对战神3在先前E3试玩版上的视觉及效能的缺陷,进行彻头彻尾的改良。而这次的报导,我们将焦点集中在此:战神3是如何利用最尖端的技术,营造出史诗般的视觉感受和戏剧般的互动体验,进而让自己登上游戏史的顶点?

      整个游戏体验的核心,就是享受Sony Santa Monica团队营造出艺术般的优质表现。只要是玩过PS3战神合辑版的人,就会发现这款PS2的重制游戏,经过美工和技术成员的努力后,让它的画质和这个世代的游戏不分伯仲。而在战神3里面,无论是材质方面还是几何方面,都远超过他们先前的作品。利用Programmable pixel shaders(可程序化像数宣染)技术,强化材质和特效,使得它们迈向崭新的境界,进而拥有高水准的表现。这是一项真正的跨时代技术,也让新战神3的效能(根据frame-rate)和前作一样优秀。


    从影片里可以看到,战神3的FPS根据画面复杂度,维持在30到60之间(有开垂直同步)

      而在角色塑模、美术概念图和低阶网格图(low-polymesh)方面,是利用Maya进行初步的塑造,再将成品转移给3D塑模软体(如ZBrush)来做出基本的模型。将成品送给人物塑模师或动态技师前,还得先将这些模型的细节用影像软体(如Photoshop)描绘出来。

      主角奎托斯本身就是一个精致的模型。有趣的是,制作小组粗略估计,他的多边形数目低于35000-低于神秘海域2的主人公NathanDrake。即使多边型不是很多,制作小组仍然有办法让这位斯巴达战士看起来“美轮美奂”-多边型计算只是整体里的一项比较项目而已。

     
    利用Z-Brush程序,搭配手写版和指示笔,让美术人员对创作作品赋予生命

      “在效能的前提下,我们尽量增加多边型。”美术总监Ken Feldman说,“印象中,这些角色使用的材质容量都很庞大,下肢、上半身和头部的材质大小为2048,每个角色都拥有法线、扩散、反射、光泽、环境遮蔽、表皮等等的渲染贴图。我们还使用层纹理(layered texture)增添表面的质感,并在需要的地方加上环境贴图。”

      “PS2的奎托斯大约使用5000个多边型,”Feldman说,“而现在的奎托斯大约用了20000个多边型。以前我们只在他身上使用三种材质,而现在则是二十种。目前他的动态资料量大约是以前的六倍,大约是2MB。”

      “如果把现在的奎托斯让两台PS2来运算,大概只能留下充满回忆的脚印。而且,现在的奎托斯总是身着华丽装备,还挟带许多的武器来切换使用,所以我们也得把这些配件给考虑进去。”

      一种名叫混合正交贴图(blended normal mapping)的新技术,可以让基本模型更加真实,并且大大强化各种动态效果的可用性。这也让奎托斯面容肌肉的运作更加自然,其狰狞演出更是我们前所未见的。它让游戏系统呈现出绝佳的真实度。像是角色皱眉的动作,进而带动模型脸部皮肤-系统不但可以办到这点,而且效果还相当理想。不仅肌肉组织的模拟正确,连静脉从奎托斯的手腕浮现的模样都能办到。这些效果随着他的行动自然地出现,真是教人难以置信。

      战神3主角们的动态效果,都是由制作群用手所调整出来的。因为他们觉得:用手调整的效果,比动态捕捉的演员所提供的动作还要棒。至于那些二线角色,则是请Image Metrics(一家知名的动态效果公司)录制动态演员的脸部动作,搭配声优的演出,去和游戏角色脸部模形的每个像素作对应,最后再由Sony Santa Monica团队进行润饰的工作。

      “当我们看见奎托斯在游戏里出现时,不禁发出讚叹声:‘喔喔!这就是他吗?’”首席角色总监Patrick Murphy说,“连他的血管都看得一清二楚,他在我们面前喘息的姿态和真人无异,这比用一般的电影方式制作出来的成果还要酷,我们太满意了。”

      玩家一定很好奇,为什么用手调整的动态效果,像是蛇妖的头髮及尾部,可以在PS3上表现得栩栩如生?关于角色的运动方面,除了制作团队预先录制好的动态效果以外,技术美工们还创造出一个控制次等动态效果的系统:动态模拟。这个系统的效果既巧妙又出色,可以根据动态技师预先花了许多工时所调整出的效果,让物件正确地产生活动。

      “在战神3,我们将动态模拟系统用于众角色的许多次等动态效果上面。”战神的技术美工经理Giovanni Luis解释说,“在我们以前的游戏中,头髮和衣服看起来都相当死板,它们应该要是活生生的才对。现在我们总算可以将这些物件赋予其应有的动态效果,让他们生动地呈现在各位眼前。”

      “在前作快完工的时候,我和Jason Minters共同合作,创造出这个动态系统。这个系统可以利用Maya Hair System(动态的曲线系统,可以被用来模拟头髮,以及其他任何曲线形状的物体)来驱动各种物体的弯曲部份。”技术美工Gary Cavanaugh这么补充,“蛇髮女妖头上的每个蛇头都可以独立的活动,动态技师不需要去逐一设定物件的动态,但是却可以完全掌控它们。这让动态技师能随心所欲的应付更庞大的工作流。”

    利用拉链技术(zipper tech)来设定人马伤口撕裂后的动态效果
    利用拉链技术(zipper tech)来设定人马伤口撕裂后的动态效果
    蛇发女妖尾巴的动态效果设定
    蛇发女妖尾巴的动态效果设定

      而让战神3拥有电影般磅礡气势的关键要素,就是高造诣的运镜。和前作类似而和神秘海域2不同的地方在于:玩家对游戏中的视野控制权相当的小。Sony Santa Monica组成一个小组,专门根据其需要来设计摄影机的运作,就像电影的摄影总监一样。

      想想看,游戏过程很棒,棒透了!加上设定好的运镜,来确保玩家能得到最棒的感受。战神将宏伟及瑰丽集于一体,当你从A移动到B,与其让镜头盯着地面或牆壁,为什么不改成展望远处的史诗级壮景呢?

      Sony Santa Monica总共有四位人员负责运镜的调整。每位成员都毕其极致,找出最好的摄影机位置和移动路线,再将众人的成果完美地调和,使得玩家视野所见的一切都尽善尽美。

      “关卡设计师将摄影机的初始位置记录于设计表单内,再送到我们手中,这是基础的第一步。”运镜设计师Stephen Peterson说,“随后,我们将摄影机的位置和移动轨迹逐一列出。一但运镜经过实机测试,发现是个好概念的话,我们就会将它付诸实行,并把成果递交给美术部门。”

      “这会让美术部门的人员有时得花上数个月去工作,让整个场景就像一出史诗演奏在我们面前。”首席运镜设计师Mark Simom补充道,“然后他们会把成果送回我们手中-场景经常和我们当初所见的不同,所以我们经常有需要再进行微调,然后再重复递交给美术部门来重新调整关卡设计,直到双方都满意为止。”

      “一但我们这么做,美术部门的人就会相当不爽-有时得花上一年的时间,呕心沥血的结晶却被我们给打回票要求修改,也难怪他们会生气。”Stephen Peterson解释,“我们只是想让每个人的努力成果,以完美的姿态呈现出来。”

     
     
    开发团队试着掌控游戏的运镜,集中游戏的电影体验,发掘美术的完整潜力
    订制好的运镜轨道同时也肩负踏玩家开拓新领域的任务

      为了营造出电影的感觉,呈现出设计师们想要的效果,摄影机就是引导玩家的最佳人物。运镜的基本原则,就像领航的牧羊人一样,带领玩家走向正确的方向。神秘海域2那种视角相当自由,让玩家得随时推动类比摇杆调整视角的游戏方式,并不是Sony Santa Monica所追求的。他们想要支配玩家对行动和游戏世界的观点,并让他们获得电影般的临场体验。

      想要优秀的运镜,就需要以周密的技术观点,来编彙摄影机的运作。战神3并不打算让玩家掌控视角控制机能,而是让玩家去适应游戏的过程,并享受眼前令人满意的动作景致。

      “摄影机并不是死板的运作而已。它们经过慎密的安排,提供玩家们电影般的游戏体验。”技术总监Christer Ericson这么解释。“为了不让游戏的电影要素随视角的移动而消散,我们得针对屏幕中发生的动作和事件,从许多角度和位置来调整摄影机的运作。正因为游戏会自动进行视角调整,所以需要演算的物件都间接确认完毕,很少有例外,这对游戏硬体资源的安排有某种程度的功用。”

      “当然,我们其实也可以让玩家在游戏中掌握视角控制权。而我们不这么做的理由就像前面说过的:我们认为控制摄影机的动作,会让精心打造的电影气氛烟消云散,而不是担心玩家突然大转身,会抓到几何的运算错误(笑)。”

      Ericson用移动式摄影车-上面配置机械手臂,可以控制镜头的远近、机身的伸缩和机体的高低-来比喻运镜实作过程。

      “摄影机的所有移动和运作,都是根据运镜设计师仔细设定的参数来做的。但是玩家人物和敌人位置的最后设定部份,则必须实际地根据画面调整。我们必须以实机画面来检测摄影机的位置,观察每个游戏画面的成效,最后才确定这部份的运镜。换句话说,摄影机的运行轨迹会形成不规则的3D容积体,而不是单纯的滑逸轨迹。大致上,摄影机针对游戏过程的位置和导向,都不是光靠参数校正就可以完成的。”

      摄影运镜师和其他部门之间紧密而不可分。当然,读者可能会想:将设定好的运镜丢给其他部门处理不就简单多了?但是这么一来,就得赋予玩家更多的视角控制权,却让玩家更难获得蕴藏于各处的重要电影体验。

     
    关卡设计是由简单的网格图开始的,循序而进,最后再由美工所润饰

      “每个关卡都需要视角设定,这个动作和其他各个部门有相互的关系…喔,概念美术部门算是例外。时程和预算的压力接踵而来,这条路走起来可不轻鬆。”Sony Santa Monica的Phil Wilkins说。

      “这些动作对效能的唯一的好处,就是让我们可以将优质的创造力,集中在玩家所见的范围。同时代表我们可以不用构筑镜头后面的空间,或是释放后方不会再看到的位置其资源。不过,我们通常是选择折衷的方式:将这些位置换成低清晰度的版本。”

      视角运镜是战神3里面的关键要素。而玩家无法控制摄影机,也意味着某些场景会让玩家感到棘手(像是跳跃的距离掌控),所以运镜一定要考虑到战场的全貌才行。只要摄影机按照预设轨迹运作的成效良好,就可以产生绝妙的视野和视觉效果。设计小组的匠心,在游戏的第一个场景中发挥得淋漓尽致:奎托斯起身对抗海神波塞冬,摄影机环绕着盖亚-一位媲美希尔斯大厦(高约1400迟)的泰坦巨人。

      这是战神3最常拿来展示其技术效能的影片。它不仅拥有超大规模的动态场景,还有出色的运镜。Sony Santa Monica 试着以自己的方式,达成NaughtyDog的动态物件遍历系统(dynamic object traversal system)的功能-整个场景都在运动,表面的物件活动也可以正确地受其影响。

    战神3最具代表性的场景:站在泰坦身上,和海神波塞冬作战
    战神3最具代表性的场景:站在泰坦身上,和海神波塞冬作战

      “PS2的硬体无法做到这种超大规模-因为记忆体不够。”Ken Feldman说,“绝大多数的游戏,都将场景设计集中在房间或是走廊等位置,游戏引擎对这种场景比较能得心应手。当然,若只是把超细腻的细节集中在小小的房间里,可以省下许多功夫。但是若是超大规模的场景,则又是另一种不同的挑战-也就是我们所接受的挑战。”

      记忆体的配置无疑是这份挑战的最大难关。材质和几何的安排都要足以满足不同的规模,场景之间的无接缝读取也是一个问题。为了达成这些条件,只要让奎托斯变成一个小黑点就可以省下不少功夫…问题是,那个两万个多边型的模型可不能省略掉,反之还得常驻在记忆体里,老天!

      这个问题的解决方法之一,就是让资料流系统在幕后(像是小场景或是特写的场合)持续地运作。当玩家进行游戏时,战神3完全没有跟玩家勒索时间来读取,也没有强制要求硬碟安装(译注:那些老是让玩家看到Now Loading的设计师真该好好跟他们学习),大多数的Sony第一方游戏都是这样。所有的资料都是趁着幕后的时间,从蓝光系统读入记忆体中。

      最让人惊讶的地方是,战神3最后在巨大容量的蓝光片里面,只有5.3MB的执行档;其馀的未压缩档案和协同处理二元码(SPU binaries, Synergistic Processing Unit)则佔了35GB,欧版则为了支援多国语言而膨胀到40.2GB。

      Tim Moss(Sony Santa Monica的高层)在他的Twitter里面提到,他对这个团队的表现感到相当骄傲,空出许多记忆体容量更是让人相当满意。而在以前PS2版的战神里面,执行档则是只有1.2MB-小到可以放入磁片里面。

      刚刚的盖亚影片,我们在结尾可以看见波塞冬被奎托斯痛击的画面,这也是玩家观点的一个创新:第一人称制。一但玩家成功通过头目的挑战,视角就会转到受害者的身上,以受害者的视野,看着狰狞血腥的奎托斯屠戮手无博鸡之力的自己。这无论是从美术、动机和科技的角度来看,都是一个出色的表现。

      “打从一开始,我就打算把第一人称制的灵感,放在奎托斯最后的终结技里面。”首席战斗设计Adam Puhl说,“当大家从实机上看见这个灵感后,全体立刻无异议地通过我的提案…看见奎托斯攻击的鬼魅姿态、感受到波塞冬的无助、最后硬生生地被扯裂-任谁都会被这个场面给震撼住。”

    第一人称杀戮:让玩家体验奎托斯杀死自己的恐怖姿态
    第一人称杀戮:让玩家体验奎托斯杀死自己的恐怖姿态

      让战神3拥有电影般的外貌及感受的另一项核心机制,是来自画面缓冲器(framebuffer)的基本设定,以及HDR光源(high-dynamic range,高动态光照贴图)的实作。PS3用于HDR的两种画面缓冲器实作选择,包含LogLUV(又叫作NAO32,曾用于神秘海域2和天堂之剑)以及RGBM(Reduced Gradient Bubble Model,梯度缩减泡沫模型)。这两者交互运用的两个成功案例,就是现在讨论的战神3,以及Naughty Dog的神秘海域2。

      上述两者的基本技术设定可以在别的地方找到(战神3有自己的RGBM)。最后所形成的画面效果独一无二、风格满点且带有电影风格,简直像是利用高精度颜色范围的特大号调色板所绘制的。

      其中,RGBM的优先度高于LogLUV,代表处理过程中有重要的保留,同时也会损失些许的精确。不过,人眼未必能看出损失的程度。而且我们还确定,利用HDMI传到屏幕上的最后影像,绝对不会让玩家察觉出其差别。既然如此,何不把省下的资源用在其他地方呢?

     
     
    经常和bloom效果弄混的HDR(high-dynamicrange高动态光照贴图)
    可以允许大范围的打光,并保有其细节

      在后处理效果(post-processing effects)方面,游戏有这么真实的视觉感受,都得归功于印象深刻的动态模糊(motion blur)应用。简单地说,这里的技术应用和神秘海域2,以及杀戮地带2相当类似-大场景会让画面张数在每秒三十~六十张的范围内浮动,动态模糊可以缓和这种浮动的程度。

      大多数动态模糊效果使用的游戏,都仅仅用于运镜的基本而已。也就是说仅针对全景进行动态模糊,使其接近真实的视觉效果。根据Ken Feldman所述,战神3的动态模糊,不仅用于运镜方面,还针对个别的物件进行处理。

      动态模糊系统的基础应用,就是让我们感觉游戏画面更加接近电影院的屏幕。电影一般是每秒二十四张画面,但是人眼感觉却比其帐面上更加流畅。这是因为在摄影时,摄影机的快门打开时间大约是0.04秒,而在这短暂时间内运动的物体被摄入底片后,就会呈现动态的模糊感。同样地,这个原理被应用于战神3,让它看起来更像电影、更加真实。

     
     
    经由动态模糊的衬托,让战神3拥有电影般的风貌

      另一项让战神3有电影感的关键要素,就是他们所开发的全新反锯齿技术。游戏使用反锯齿技术可以,让外观更佳满意。刚开始,游戏采用RSX晶片来实作传统的2x multisampling anti-aliasing effect(2倍多重取样反锯齿),战神3的E3试玩版就可以看出这个技术的效果,但是这也会让戏物件欠缺高对比的边缘。而在正式版里面,Sony Santa Monica团队想出了办法,来超越E3试玩版的成果。

      根据技术总监Tim Moss所述,战神3和Sony于英国的科技团队合作,实作一种用在游戏里的反锯齿技术:MLAA(morphological anti-aliasing ,形态反锯齿)。Moss的同僚Christer Ericson于数个月前也曾替我们介绍这个技术,并揭露他们是在进行什么样的庞大研究,来解决反锯齿的问题。

      目前这个技术的实作细节还不清楚,但是我们至少知道使用此技术的战神3,其成果相当惊人:主要边缘的锯齿几乎消弥殆尽,子像素的闪烁程度在经过我们的比较下,也大幅地降低。

      PS3开发人员所习惯采用的反锯齿技术,通常是利用Cell CPU的平行图形晶片RSX来平行处理。Richard Lemarchand(Naughty Dog的开发大老)于他自己的神秘海域2检讨会中指出,RSX处理反锯齿的比例通常要高于Cell处理的比例,而利用两者交互使用来应付后处理效果,在某些地方的效果相当不错。

      如果要让CPU更有弹性地处理各种状况,就代表得增加额外的运算量,来换取更棒的成果。如果让复数的SPU来并行运作,就可以减低CPU延迟所带来的毛病。

      在战神3里面,所有输出画面的处理时间大约为16毫秒(10-3秒)到30毫秒,顶多相差1、2毫秒。光看反锯齿的部份,原本的2x multisampling AA要花上一堆时间,大约是5毫秒。而现在使用更棒的MLAA,只要让CPU花上20毫秒就行了…喔?时间怎么变久?别担心,这是单纯使用CPU的状况。如果搭配五个SPU的平行运算,可以让整体延迟仅仅4毫秒。结论就是:效果变好了,效率反而变高了,省下的时间资源刚好可以挪到其他地方使用。

     
    (举例来说,漆黑的长条物件边缘会冒出杂色的像素)
     
    MLAA的表现极为惊人,但是却会产生物件边缘冒出突兀像素的劣化现象
    仔细观察物件的边缘,会发现有少许的杂色像素,这是MLAA的小缺点
    仔细观察物件的边缘,会发现有少许的杂色像素,这是MLAA的小缺点

      Sony Santa Monica将角色和环境弄得如此优异,都是因为结合了强大的运算技术,赋予游戏所应有的气氛和姿态。举例来说,动态光源的活用就是游戏引擎发威的地方之一。

      “动态光源是我们游戏引擎的一项重大特色,我们可以让每个游戏物件打上将近二十个动态光源。”KenFeldman解释道。“光源可大可小,这无所谓。在最后阶段,我们相信可以使每个游戏物件达到五十个动态光源。我们的首席设计师Vassily Filippov在游戏开发之前,就设计出一套这么了不起的打光系统了。我们可以在Maya上面打光,再让它们在PS3即时运算,就像是可以把光线涂上去一样。打光的过程是很有趣的艺术过程。”

     
     
    战神3的游戏引擎对于动态光源处理相当出色,可以达到每个物件五十种光源
    赫利奥斯之首就是玩家使用动态光源的最佳范例

      有光就有影。大多数游戏的投影技术都很基本,如果要做到即时阴影,其运算成本相当高昂。所以我们的作法是:先打出丑丑的阴影,然后在你看到阴影前立刻将它修饰完毕。

      战神3在阴影的处理上相当单纯,因为他们知道:玩家不会花太多心思在阴影上面。玩家看画面的时候,会把某些元素像是发炎的伤口一样自动掠过,这些元素之一就包含阴影。

      处理的结果相当好到不可思议。Sony Santa Monica的设计师Ben Diamand不但从初始阶段就来协助我们建构PS3的着色器(renderer),还花了三年的功夫研发出一套延迟投影系统(deferred shadowing system)来用在战神3上面。这个系统的运作相当完善,可以趁阴影映入眼帘之前,省略投影物件的精细外观,并动态产生混合阴影,也是让整个图像品质如此优越的原因之一。

      这个系统的唯一遗憾就是:游戏过程中,它的实用性和冲击性都被限制住。看看前面的动态光源,在各方面都有极大的实用性(某人的脑袋);而阴影在游戏过程里的实用性,大概仅限于提示玩家闪躲愤怒泰坦的拳头而已。

      Sony Santa Monica的美术和技术成就无疑相当惊人,但是这个团队真正让人印象深刻之处,就是持续地对游戏程序码的修饰和最佳化。他们的热情和成就,无疑和游戏的优秀并驾齐驱。根据技术总监Tom Moss的说法,完工前的一星期,游戏的第一份版本拷贝送出去压片后,设计师Cedric Perthuis 仍然在最佳化程序码,让最后的游戏整体效能提升了将近百分之八,真是一个了不起的成就。

      战神3是一款优秀团队所开发出的特别游戏。不仅因为它有超过四百万美元的开发预算来支持,还集结了世界上优秀设计师们的共同努力,还让Sony的优秀技术团队参与其开发,才有现在这么抢眼的成就。就像神秘海域2和杀戮地带2,战神3还让它的游戏平台拥有当代最精锐的游戏技术。而且,我们还有充分的理由,相信这个游戏系统还有相当长的生命期。战神3只不过是Sony Santa Monica的第一款PS3游戏,Stig Asmussen(战神系列的催生者,SonySanta Monica的高层)还提示我们,可以继续期待战神3的游戏引擎,于未来发扬光大。

    分享到:

    历史上的今天:

    评论

  • 收藏了~