『人喰いの大鷲トリコ』開発者が講演!
2017年8月30日~9月1日の期間、パシフィコ横浜で開催されている、日本最大級のコンピュータエンターテインメント開発者向けカンファレンスCEDEC 2017。2日目の8月31日には、ジェン・デザインの田中政伸氏による、“トリコの動かし方 ~『人喰いの大鷲トリコ』におけるプロシージャルアニメーション技術~”というテーマのセッションが行われた。その模様をリポートする。
セッション冒頭では、講演者の田中氏が自己紹介したのち、『人喰いの大鷲トリコ』の作品背景がスクリーンで説明された。
田中氏は2002年よりソニー・インタラクティブエンタテインメント ジャパンスタジオに在籍し、2013年よりジェン・デザインの立ち上げメンバーとして参加。ジェン・デザインは、上田文人氏をはじめ、『ICO』や『ワンダと巨像』の開発に関わったスタッフが中心となり集まったスタジオだ。田中氏自身は『ワンダと巨像』ではアニメーションを担当し、『人喰いの大鷲トリコ』では、アニメーションディレクターとリードゲームデザイナーを担当している。なお今回の題材である『人喰いの大鷲トリコ』は、ジェン・デザインとジャパンスタジオがタッグを組んだプロジェクト作品となる。
AIが起点となり行動が決定!
ゲームの内容が簡単に紹介されたのち、最初のテーマとして田中氏が語ったのは、“トリコのAI”について。田中氏はまず「トリコの特徴は、動物・四足歩行・巨体・羽毛という4点」とし、それらを踏まえたうえでの、動きについての課題点などを紹介。そうした課題を克服するために採用した技術が、“プロシージャルアニメーション”だと語った。
具体的な1フレーム内の処理は、“AI”→“アニメーション”→“プロシージャルアニメーション”→“物理”→“ファー”→“レンダリング”という流れ。“AI”は、起点となる重要な部分となるわけだ。
ここで“AI”の実例として、ムービーが流された。少年の呼びかけにトリコが反応し、近づいて樽を見つけ、樽を食べるという一連の動きだ。田中氏によると、構造自体はとてもシンプルで、“興味対象の決定”→“興味対象への移動”→“アクションの決定”となっているとのこと。
「AIの目的は、トリコが心を持っているように、ユーザーに感じてもらうこと。そのために、トリコが現在の状況を把握して、意志決定することが重要なんです」(田中氏)。
最初の“興味対象の決定”の仕組みはと言えば、じつは各オブジェクトには“興味レベル”が設定されていて、トリコはまずレベルの高いものに興味を持つ。そしてトリコがそこでアクションを起こすことで、対象物の“興味レベル”は変動し、ほかの物に興味が移っていくことになる。
“アクションの決定”については、スペースがカギを握るという。たとえば樽があるとき、十分な空間があれば“食べる”を選び、頭がつっかえるときは“前足で掻き出し”を選び、そのスペースさえないときは、主人公に取ってほしいと“鳴き”を選ぶような形で、アクションが決定されていく。
アクション補正で動きがリアルに!
続いてはセッションのメインテーマとなる、“プロシージャルアニメーション”(以下、PA)について。PAとは、数式、スクリプト、事前に入力したデータなどを利用して自動生成されるアニメーションのこと。ただ田中氏によると、『人喰いの大鷲トリコ』では完全な自動生成までは行っておらず、「もとのアニメーションをいかにうまく改編するか、という考えのもと設計されています」という。ここでは過去作でのPAの実例として、『ICO』の“足の段差合わせ”や『ワンダと巨像』の“蛇の巨像”などが紹介された。なお『人喰いの大鷲トリコ』では、『ワンダと巨像』に比べて、PAの難度が格段にアップしているという。
続いて紹介されたのは、“歩行・姿勢制御”、“注視処理”、“タルのキャッチ食べ”という、代表的な3つのPAだ。順を追って説明しよう。
まず歩行処理については、トリコには背骨が設定されていて、それに準じて移動する体のカーブが決定し、急な角度で曲がるときには、若干膨らんだ形でパスが処理される。また移動における着地点の決定では、足を上げた瞬間にその着地点を算出。踏めないオブジェクトを避け、障害物による軌道修正がなされ、足がズレないような補完もしたうえで、歩行アクションが決まる仕組みになっている。さらには巨大なトリコだけに、天井部分を意識した処理も加えられているとのことだ。
注視処理については、初期の実験では機械っぽい動きになったため、新しい手法として、頭だけが固定されたような“獅子舞方式”を導入。これにより、リアルに首を動かして対象物を見つめる動きが実現できたそうだ。さらに、回転軸をできるだけ鼻先側にすることで、より生き物らしい印象を与えられるようになっている。
また注視で重要な機能として、壁を検知して避けるという点がある。何も処理をしないと、壁に頭を突っ込んだり、視線上に柱があって見えないことも起きてしまうので、それを避けるような処理もなされているそうだ。
PAの説明の最後にピックアップされたのは、トリコが樽をキャッチして食べるアクションだ。樽自体は物理エンジンで制御されており、トリコはその樽がキャッチ可能な範囲に入ったらくわえるアクションに移行し、上下のアゴで挟む。くわえたあとはどんどん喉の奥に持っていくような演出モーションも加味されている。
ファー演出で臨場感をプラス!
セッションのラストに、オマケ的な感じで紹介されたのは、トリコの羽毛となる“ファー”の表現。“ファー”には大別して、シェル法とフィン法というふたつの表現手法があるそうで、『人喰いの大鷲トリコ』ではフィン法を採用しているという。これは簡単に言えば、羽毛を“短冊”に見立てて処理する方法だ。
羽の設計については、風の強さによって羽のパラメータが切り替わる手法が取られている。弱い風ならあまり動かず、強い風のときには大きく動くようにパラメータが変化。これにより、強風のときだけトリコの羽毛が逆立つような表現を実現している。また風の動き自体は、空間に実際に波のような風を実装。この波と羽が接触するときに動きが生じる処理がなされているとのことだ。
田中氏による講演はこれにて終了。あの巨大なトリコがなぜああも愛らしく、自然な動きをくり出せるのか、その秘密が垣間見れる貴重なセッションだった。