原文是CEDEC的演讲PPT
这次演讲是由「人喰いのトリコ」(中译:食人的大鹫)的开发公司gen DESIGN分享的制作过程中使用到的AI,动画技术及羽毛效果。
大鹫的设计原型参考了多种动物,行为动作更像是猫,AI最终实现的效果非常贴近真实的猫。
背景介绍
1.《食人的大鹫》是什么
《食人的大鹫》是2016年12月6日由SIE发售的,一个少年和一匹巨兽一同冒险的AVG(动作冒险游戏)。
2. 本作的要点
将Trico(原文トリコ,下同)作为活生生的生物表现出来
3. 大鹫的特征
动物,四足步行,巨大躯体,羽毛
(1)动物
不会说话
只用动画来表现情感
不能作拟人化表现
(2)四足步行
横向很长
很难在斜面站立
(3)巨大躯体
不会被欺骗
要表现出它的重量感(密度)
(4)羽毛
表现出羽毛的密度感
被风吹动的效果
表现情感
Trico要实现的课题
脚不会发生滑动,能够平稳地行走
在斜面能够短暂停留
实现自然,真实的注视物体的动作
能在狭窄空间的步行
能够在空中叼取投掷的罐子来吃掉(译注:像狗一样)
这里提到了用程序动画(procedural animation)来实现
一帧内的处理包括
AI-->动画-->程序动画-->物理-->毛发-->渲染
AI
1. AI的设计理念
容易调整
决策的设计理念要非常简单
2. AI要实现的目的
让人感觉到Trico是一个活生生的生物
要使Trico能够对现状作判断进而产生决策
3. AI的基本构成
选择产生兴趣的对象==>向兴趣对象移动==>发生交互
(1)选择兴趣对象
对每个角色及物体对象设置“兴趣水平值”(译注:即决定优先级)
兴趣值会发生变化
与对象进行交互之后,使兴趣值发生“消化”
随着时间越久,对象本身的兴趣值会升高
另外还加入了距离系数来对计算产生影响
如下图,在Trico与主角发生交互动作后,兴趣值会消化,Trico继而转向朝背后的兴趣物体移动
(2)朝兴趣对象移动
使用导航网格
检查场景是否可以容纳巨大躯体
(3)交互动作的选择
从大量的备选动作中选择最适的动作动画
检查确保选中的动作不会与场景发生接触
程序动画 Procedural Animation
(这个概念很像是For Honor中提到的Motion Matching)
PA技术是很早就开始使用的技术,但近年来受到越来越多的瞩目
该技术在gen DESIGN之前的《ICO》以及《旺达与巨像》都有使用
可以适应凹凸地形的场景,同时有效降低了整体动画文件的体积
使用PA技术,可以更好的表现角色。
1. PA的基本构造
以module为单位,处理顺序为从主干到分支细部。
一帧内的处理:身体==>腿==>头==>指尖
这里介绍了3处有代表性的PA技术:步行及姿势控制,注视的处理,捕捉罐子
(1)步行处理
① 脊柱的弯曲处理
依据贝塞尔曲线实现弯曲处理。使得能够实现很大角度的转弯
② 落脚点的决策选择
在抬脚的瞬间开始决定下一落脚点,会综合考虑地形的高度及倾斜度。
不能立足的情况:1.角色、木桶等对象所在位置 2. 过于倾斜的斜面 3. 落脚点很靠近墙壁
Trico一共有四条腿,步行是四个动作的循环,红点是做落脚点检查的时间点,如下图
对落地之前肢体的运动轨道进行修正,通过综合考虑无视物体的本来路线及绕过物体的最短路线,得到最终的运动轨迹
同时为了防止滑动,还要通过图钉来对脚进行固定处理。同时对固定的脚产生的偏移来进行插值修正。
通过前后立足点的位置差别来进行模型姿势的修正
同时还在头上设置传感器来检测天花板,进行头和身体的下蹲处理。
(2)注视的处理
这里开发初期使用的是Forward Kinematics,从后向前依次来构造头部的转动。
后来使用了“狮子舞方式”:先决定头的转动和位置,之后再来考虑舞动。如下图
(3)木桶的空中叼取(译注:像狗一样)
实际是通过上下颚的碰撞体来夹住木桶
① 捕捉木桶的课题
物理模拟
正确掌握捕捉时机
捕捉后往喉咙送的动作(译注:想象一下鸟或狗)
叼取捕捉动画播放后,在捕捉范围内会进行具体位置的修正。如图,绿色为捕捉可能的范围,红色为木桶会到达的位置
毛发的表现
毛发的表现有差别巨大的两种
Shell法(多层多边形),Fin法(长条)
1. 羽毛的设计
把羽毛相互间的摩擦考虑进来
根据风的强度调整参数
波状的风,接触的地方会发生摇动
FIN.