【翻译】西川善司为3D游戏粉丝的[索尼克世界大冒险]的图形讲座 3D游戏图形趋势是实时的全局照明

2009年3月13日收录   注:因为是3年前资料,一些技术已经不是最佳解决方案
原文 西川善司
翻译 Trace
校对 千里马肝

原文链接 http://game.watch.impress.co.jp/ ... 0090410_110682.html


会场:世嘉(SEGA)总公司


[索尼克世界大冒险]和[刺猬引擎]的标志

    对于本世代主机的3D游戏图形,用户所期待的,不仅是渲染(Rendering)分辨率和纹理(Texutre)分辨率的提高,还有因为硬件性能提高也要有新的视觉体验。以此目标实现[本世代机上的新视觉体验]的就是这款基于PS3和XBox360开发的动作游戏[索尼克世界大冒险(Sonic World Adventure)],(后面简称索尼克WA)。

    要说起[索尼克]系列,一直都是以游戏趣味为主的作品。但是在本作中,加入了在今后本世代游戏机3D图形的新标准和技术的[实时全局照明(Realtime Global Illumination)](后面简称实时GI), 所以集中了很高的关注度。

    这次,想让大家聚焦这个实时GI,同时也看看索尼克WA的图形。

[索尼克世界大冒险]的图形规格,现在的索尼克角色使用18000个多边形

    这次的采访对象是世嘉有限公司第二CS研究开发部第一程序部游戏总监兼技术总监的桥本善久先生(现在已经是SQUARE ENIX公司CTO了),同为程序员的岩崎浩先生(和桥本一起去了SQUARE ENIX)和荻野晃史先生一共三位。还有,桥本先生在2008年召开的游戏开发者会议CEDEC2008以及2009年在美国召开的GCD2009上登台做了关于[索尼克WA] 演讲。

    首先想整理一下[索尼克WA]的3D游戏图形的基本信息。主人公索尼克在本作游戏中的模型大概是18000多边形,在过场动画(CutScene)中大概是26000多边形。还有,代表性的NPC角色、村民大约是4000多边形,场景中大量聚集的普通村民大约是1800多边形,人形的敌方机器人大约是5000多边形。在1991年的16位机中以Sprite(注:绘制方式)角色首次登场的刺猬索尼克,现在居然成了要用18000多边形的角色,对于老玩家们来说真是深有感慨的信息啊!

[索尼克的特写截图和线框截图]




   
      
[敌方角色的特写截图和线框截图]



    构成1个舞台的建筑物等背景物体的多边形总数,虽然说不同的舞台构成数量也不一样,但大体上是400万到500万左右。那么1帧里,背景就是10万到13万。
【千里马肝注:400万是指整个场景,10万是指同屏。】

    视频帧率在设计上虽然设定了每秒30帧(30fps),但Xbox360版和PS3版由于各种原因在实现上有微妙的改变,Xbox360版中很多的情况是因为会超过30fps所以固定设定为30fps,而PS3版因为帧率的上下幅度很大,所以没有固定30fps而是用可变帧率来实现。

[实际操作场景和线框截图]



       



世嘉有限公司第二CS研究开发部 第一程序部,游戏总监 桥本善久先生


世嘉有限公司第二CS研究开发部 第一程序部,程序员 荻野晃史先生。

    渲染分辨率上,PS3版和Xbox360版都把880x720点作为基础分辨率,在显示时采用了缩放(Scaling)来扩大的方式。还有,Xbox360版和PS3版的抗锯齿(anti-aliasing)都应用了2x模式的MSAA(MultiSample Anti-Aliasing)。根据与视点的距离使显示对象的多边形递减的LOD(Level Of Detail)系统是怎样进行实现的呢?
【千里马肝注:两大主机都是以720P和1080P为高清卖点,这里为什么选880x720的分辨率?880/720=1.22222...好多2,即不是16/9=1.77777...也不是4/3=1.33333...,唯一能想到的理由是节省带宽,但是选880的原因还是不清楚,非要说一个理由的话就是2了……】

桥本先生[关于LOD,几乎什么都没有做。虽说如此,在索尼克WA的制作中,几何体(geometry)方面的负荷几乎没有问题。虽然只要准备用在LOD上的高模和低模(就可以实现),但考虑到成本与效果的对比,还是没有在实作中采用。在索尼克WA上称作LOD的系统,就是纹理的mipmap方面吧。]
【千里马肝注:桥本哥哥你是在开玩笑吧……】

荻野先生[因为PS3版使用了Playstation Edge, 所以在几何性能上不会有问题。PS3的主内存的容量因为很紧张,如果导入LOD功能的话,反而需要考虑低模占用的内存问题了,最后结果是什么都不用做就能解决真是太好了(笑)。]

    到了本时代主机,最近几年的游戏项目中感到多边形数有了很大的提高,关于几何体负荷紧张的传闻也很少听到,虽说如此,最近流行起来的让无数杂兵角色在同一场景内登场的三国无双]和[丧尸围城]那类的游戏作品,现在也同样有必要导入LOD系统。像[索尼克WA]那样同时登场的角色数量虽然并不那么多,但粗略计算了一下近期的游戏作品,没有使用LOD系统的案例也变多了。

    关于物理模拟,采用了[HAVOK5]。HAVOK Physics,主要利用在活动角色之间的碰撞检测和破坏时的碎片散乱等行为控制。在角色和背景的交互时的姿势控制的IK(Inverse Kinematics:逆向动力学)处理上使用了HAVOK Animation。在主要事件场景等的表演上,也要利用动作捕捉。虽然有些任性还是要说,当初作为Sprite角色登场的索尼克,如今也要用到IK和动作捕捉了。

    还有,这次为了[索尼克WA]而开发的引擎,使用了[刺猬引擎](Hedgehog Engine)的名称,今后也预定作为面向PS3用和XBox360用的索尼克系列的标准开发库来使用。

    引擎的开发是从2005年中旬开始,游戏内容方面的开发是在2006年末开始, 引擎的开发虽然是从5人左右的小规模团队开始,但在开发最繁忙的时期,程序团队大约到了40人,设计师和艺术家大约80人,包括其他的计划师,导演,制作人,声音等总计到了一百几十人的规模。那意味着,[索尼克WA]是个相当大的项目。

[HAVOK5]

HAVOK Physics,主要利用在活动角色之间的碰撞检测和破坏时的碎片散乱等行为控制


【千里马肝注:注意上图中sonic的左脚是踩在上面的台阶,右脚踩在下面,这就是IK的优点。同样下图中,如果不使用IK,就很容易让人感觉角色是浮在空中,而没有紧贴地图。】

角色和背景的交互时的姿势控制的IK处理上,要利用HAVOK Animation。
 
原文地址:https://www.cnblogs.com/oiramario/p/2358750.html