之所以写下这篇文章,不仅仅是通关了这个游戏,被游戏传达的情感所震撼,而且作为一个正在进行主机游戏开发的程序员,被这游戏中大鹫的羽毛、身体动作和AI,以及摄像机的部分所深深吸引。我不得不承认,他们的首席程序员Makoto Izawa的技术水平,够我花个五年到十年的时间追赶的,不过,现在游戏引擎的发展,也给我的压力减少了很多。
(事先声明,本文游戏图片来自于PlayStation官网,猫图来自我家雪灵,少量技术图片来自谷歌,本文不会剧透)
首先说说这个游戏中制作人的创作来源。根据2009年6月3日IGN上一篇对上田文人的采访,可以获知一些基础信息,中文翻译的游戏名称“食人的大鹫”确实是日文的原版翻译,早期的英文名称叫做"The Giant Man-Eating Eagle Toriko." 。Toriko的名字来源于两种动物:鸟(Tori)和猫(Neko)。而且上田文人本人也提到,这些动物是受到小时候接触过的宠物的影响,这些动物不仅是猫和狗,也包括鸭子和猴子。所以游戏中的巨兽明显体现了猫的主要行为特征,身体又包裹着羽毛,脚也采用鹰的形式。
可以清晰的看出,大鹫主要由鹰和猫组成
先来说说我猜想的羽毛制作方式,根据目前的物理引擎技术,全身的羽毛估计是以带角度限制的关节连接方法,安装到大鹫身上的。经过观察,羽毛和周围的物体并没有实际的碰撞,所以羽毛受到的物理影响,基本上是大鹫身体的带动和风场的力学运算。
常见物理引擎中带角度限制的连接方法
有一些羽毛炸起的动作,用来表现大鹫的情感,估计是程序做了特殊的运算处理,施加到每根羽毛一些反向力。按照我很随便的估算,全身的羽毛应该不会超过1000片,故此,遍历所有羽毛,并进行一些物理运算,对目前的PS4主机来说,并不会带来太大压力。人物爬上大鹫的时候,局部的羽毛飘动,我认为也是依靠小范围的影响羽毛的物理运算的方式实现的。题外话,我发现游戏中掉帧,主要是由于要动态加载和卸载新场景导致的,如果场景已经加载完成,死掉再次返回,同样的位置就不会掉帧。
大致可以估算羽毛的数量,其实还是挺多的,之前没有见过有人这么做过
另外,飘落的羽毛,应该都是单独的模型,在开场的时候,地上散落的羽毛,非常类似小灌木的做法,用几个面片做十字交叉。空中飘落的羽毛,应该是类似粒子系统的方式来实现的,由于数量非常少,所以也不会增加太多的计算。
有些局部的单片羽毛,细节非常丰富
再来分析一下身体的动作,大鹫的身体,如果我来设计,大概会分为这么几个主要部分:头,耳朵,脖子,前肢,后肢,躯干,尾巴。作为猫的代表动作,耳朵一定是传达情感的很重要元素,根据外界的环境和人物的互动,两只耳朵可以躲避墙壁,前后抖动,竖起来倾听呼唤。脖子用来连接头和身体,仔细观察可以发现,大鹫在狭窄的空间中转身时,和猫的动作非常相似,先是接近180度的转头,然后身体可以用一种类似折叠的方式,原地转身。再说说尾巴,大鹫的尾巴减少了很多猫的行为特征,比如开心时猫会竖起尾巴,但是大鹫不会,大鹫的尾巴除了在游戏中特有的很多功能以外,平时的动作,就是增加跳跃时的视觉平衡感。最后再说说大鹫的爪子,据我观察,爪子的每跟手指都是采用了单独的多段骨骼,再加上IK(骨骼反向动力系统),爪子可以实现踩在一些尖角上时,手指完全抓牢,再加上地砖碎裂的效果和AO(光影遮蔽系统),呈现出真的踩在环境中的感受,并且体现出巨兽的重量感。
| 留言与评论(共有 0 条评论) |