2019年3月18日~22日(現地時間)、アメリカ・サンフランシスコで行われている世界最大級のゲーム開発者のカンファレンス、GDC(ゲーム・デベロッパーズ・カンファレンス) 2019。ここでは、ユービーアイソフトの大作『アサシン クリード オデッセイ』の開発事例を紹介しよう。まあ、すごいです。

 2018年にリリースされ、高い評価を得た『アサシン クリード オデッセイ』。同作は、ユービーアイソフトの看板を背負うIP(知的財産)の最新作ということもあり、プロジェクトの規模は当然のことながら巨大なものがあった。ストーリーに注力した『アサシン クリード オデッセイ』では、物語の分岐を生む選択やその選択を反映した世界の変化など、作り上げるべき内容も膨大な量に及んだという。そこで作業の効率化のために生み出された手法が、“プロシージャルにシネマティックシーンを仮組みする”仕組み。プロシージャルとは、モデルやアニメーションなどを自動生成するテクノロジーのこと。

 GDC 2019の3日目に行われたユービーアイソフト ケベックのプログラムチーム リードを務めるフランソワ・パラディ氏による“Procedural Generation of Cinematic Dialogues in 'Assassin's Creed Odyssey'”は、そんな『アサシン クリード オデッセイ』の新しい手法を紹介するというセッションだ。

自動生成でカットシーンを作成する

 「もっと多くのコンテンツをプレイヤーに楽しんでほしい!」との気持ちも後押しして、このシステムを開発することになったと口火を切ったパラディ氏は、ナラティブに関与するよりアクティブな体験を提供するために、「会話の分岐をたくさん設けるだけではなくて、ロールプレイ感覚を高める選択肢を多数用意し、それが世界にしっかりと影響を与えるようになる」ことが目標だったと説明。それをしっかりと感じてもらうために、シネマティックカットシーンが重要だったとした。その結果、必要とされる物量は以下のボリュームになったという。

・シネマティック:メインゲームで30時間
・音声ファイル数:20000
・シネマティックダイアログ:1200

 過去作ではシネマティックが3~6時間だったことから判断すると、30時間というのは相当な飛躍だ。これでは、到底既存のパイプライン(効率化の手法)では、実現が不可能だと判断した開発陣は、いくつかの対策を対策を講じる。新たに採用したモジュラーアセット(アニメーションとカメラの組み合わせなど)や頻繁なイテレーション(反復、くり返しなど)はその一部だ。なかでも、重要なポイントとなったのが、今回の講演のテーマである“シネマティックカットシーンのプロシージャル生成”。つまり、「大量のコンテンツをスマートに作る方法」だ。プロシージャル生成で扱ったのは以下の要素。

・シーンの舞台設定
・アニメーション
・カメラ
・ライティング

そもそも今回の“対話システム”は初めての試みだったとのこと。多くのカットシーンで、プロシージャルに生成したものと手動で作ったものがミックスされているようだ。会場ではカットシーンのサンプルが再生されたが、どこがプロシージャルでどこが手動なのか、区別がまったくつかなかった。

チームを再編成し、シネマティックデザイナーを新設

 新しい手法のためには、当然のこと開発チームを再編成する必要がある。そこで開発陣はプロジェクトチームを再編成。いままでは、クエストデザイナーとライターがそれぞれ別の大人数チームとして独立しており、チームどうしが連携するという構成だったのだが、それだとスピード感が足りず、間に合わないということで、「クエストデザイナーとライターにシネマティックデザイナーを加えた小さなチームをいくつも作るようにした」とパラディ氏。

 シネマティックデザイナーというのは、『アサシン クリード オデッセイ』のために作った新役職で、シーンの責任者であり、最初から最後まで監修するという、いわばカットシーンのディレクター的存在。シネマティックデザイナー(必ずひとり)を最初期にチームに組み込むことで、ほかのメンバーが「どこを目指せばいいのか」がわかるようになり、非常に大事なポイントだったという。

 そんなシネマティックデザイナーだが、プロシージャル生成のパラメーターを触れるようにしたという。生成されたコンテンツに対する“編集権限”を与えたのだ。そもそもコンテンツの全体量が多かったために、ある程度シネマティックデザイナーに任せないと回していけなかったからだ。ちなみに、『アサシン クリード オデッセイ』では、全体の25%は完全にプロシージャルに生成されているという。それ以外でも、一部はプロシージャル生成されたシーンもあり、全体の比率で言うとけっこう高いようだ。

 さらに言えば、『アサシン クリード オデッセイ』では、タイトルローンチ後に大型ダウンロードコンテンツを数ヵ月おきに出すというスタイルではなくて、2週間ごとにダウンロードコンテンツをリリースするというスケジュールだった。そのためけっこうまめに対応していかないといけなかったので、そういった観点からもプロシージャル生成は大きな役に立ったようだ。

 ところで、プロシージャルであることのさらに大きなメリットがあったとパラディ氏は言う。それは、「開発中に、最初からプレイアブルな状態を維持するため」。プロシージャルを使えば、クエストデザイナーがシーンを組むことで、すぐにアニメーションもカメラも動くプレイアブルな状態になる。つまり、インスピレーションのきっかけになるような、叩き台となるカットシーンを最初に用意できるというわけだ。シネマティックデザイナーが一切関与することなしに。たしかに目の前にモノがあれば、想像力も膨らませやすいだろう。『アサシン クリード オデッセイ』ではシナリオが頻繁に変更されたとのことなので、フットワーク軽くシーンを用意できるのは、極めて有益だったと言えるだろう。

自動生成と手動制作のバランス取り

 というわけで、非常にメリットの多いプロシージャルではあるが、開発中にはひとつの問題点が持ち上がったという。それは自動生成と手動制作のバランス取りだ。開発当初は全部自動生成をしてみて、シネマティックデザイナーが必要に応じて編集していくという手順を取っていたが、これがうまくいかなかったというのだ。なぜならば、クリエイターの性というべきか、当然のようにデザイナーがすべてに手を入れたくなってしまうからだ。これではいくらなんでも作業効率が上がらない。そこでチームはシーンのレベルを4つにわけ、手直しをする優先順位と、どこまで手を入れるかを分類した。

レベル1.自動生成のまま
レベル2.一部手動で変更を入れるが、カスタムアセットは作らない
レベル3.手動変更をたくさん入れ、カスタムアセットも作る
レベル4.モーションキャプチャーまでやる

 それぞれのレベルに予算枠を設定して、「どこまで手間と予算をかけるか」をきちんと分けることで、本当に必要なシーンにちゃんと労力をかけられるようにしたという。結果、比率としてはレベル2の“一部手動で変更を入れるが、カスタムアセットは作らない”がもっとも多くて70%、レベル1の“自動生成のまま”の20%を加えると、90%の比率に上ったようだ。

“カメラの配置”などを設定

 さて、ではプロシージャル生成にあたっては、どのような情報を入力していくのか。おもなものは以下となる。

・テキスト
・音声ファイル(最初は自動生成したものを仮素材として使う)
・ライターが設定した“属性”(これが非常に役立った)
・タグエモーション(“尊大”など、キャラクターに感情を示すタグを付けられるようにした)
・3人以上が参加する場合は、誰に話すかを指定
・すべてのセリフに解析を実行し、とくに重要なポイントを特定

 そのうえで、“舞台環境のセットアップ”や“キャラクターの配置”(誰と誰が話しているか、何人vs何人なのか、対面なのか、1vs1vs1なのかなど)、“カメラの配置”などを設定したという。カメラの配置に関しては、最初に設定しておいたルールに応じて、どこがいいかを判断し、構図を決めたとのこと。ただし、カメラに動きがないとおもしろくないので、キャラクターの顔の位置を認識させて、カメラを動かしても構図が一定内に収まるようにしたという。これにより、話し手と聞き手に身長差があったり、カメラの高さが変わっても構図がまとまるようになったのだとか。また、シーン中のカメラの動きとしては、“緩やかに寄る”、“横に流す”、“固定”など、複数種類を用意したそうだ。これはすべて自動化できたので、たとえ変更する必要が生じても、作業量は増えなかったようだ。

 これで“カメラマン”はできたが、“編集マン”がいない。当然のこと、編集作業もカメラと同じくらい重要だ。そこでパラディ氏は、キャラクターの動きに対して複数のカメラを用意し、それぞれルールを作ったという。そのうえで、条件に応じて、ズームインやズームアウト、固定などの動きや画角を設定したという。たとえば、ジェスチャーが大きい場合はカメラが引くとか、久しぶりに話すキャラクターがいる場合は、ズームアウトで全体を写す、さらには誰がどう話しているかを明確にするといった具合だ。また、尺に関しても短すぎるカットは流れを悪くするので排除。逆に長すぎると間延びするので、途中で構図を切り替えるなどして対応したという。ここまで聞いてくると、いまや自動化で相当なことができるんだなあ……と驚かされてしまう。

もちろん、キャラの動きが重要

 さて、スタッフ側の準備は整った。おつぎは役者(キャラクター)だ。まずパラディ氏が議題にあげたのが、ボディアニメーション。待機状態のときに関しては、汎用的なアニメーションを100個くらい用意し、これをキャラクターの感情に応じて個別に数個設定。それにジェスチャーを加えることで動きにバリエーションを出したという。一方の“ジェスチャー”では、前述の通りライターが“エモーションタグ”をキャラクターに追加しており、さらにセリフの分析も行っているので、どこにどのジェスチャーを差し込むべきかが明確に判断できるようになっている。

 記者は適宜流されるカットシーンを見ていて気づいてしまったのだが、たしかに『アサシン クリード オデッセイ』では、それこそたくさんの待機状態が用意されているし、会話時のジェスチャーも滑らかだ。まさに、人間の自然な動きに近いということで、こういった細かいところでリアリティを担保しているのだなあ……と感心してしまう。

さらにアニメーションに関しては、“Me”と“Now”を解釈し、セリフに対して使えるアニメーションに合致するかどうかをスコアづけして、それを組み込んだという。
エモーションカーブは初期位置に対し相対的にカーブを指定し、アニメーションの盛り上がりを作った。

 ちょっと記者が驚いてしまったのが、ローカライズ。『アサシン クリード オデッセイ』では、サウンドマッチング技術により、かなりのリップシンクが自動化可能になったという。これはどういうことかというと、言語により音声の尺が異なるので、各国語に応じてカットシーンの長さが調整できるということだ。日本のアフレコ技術は極めてすぐれていて、声優さんがキャラクターの口パクに合わせて尺の長さをきちんと揃えるのはご存じのとおり。そんな匠の技ももしかして不要になってしまうのかと思うと、けっこう残念ではある……。

 さて、ボディアニメーションは、リアリティを確保するための重要なポイントということもあり、細かいルールがたくさん存在するようだ。その組み合わせも用意したという。たとえば、「話すときは最後に話した人のほうを向く」「話してないときは話している人を向く」「沈黙があったら目線を少し落とす」など……。このへんは、プロシージャルが進んでいけば、今後さらにノウハウが蓄積されていくものと思われる。

 あとは、ライティングと被写界深度。通常のライトだとのっぺりするので、『アサシン クリード オデッセイ』では、話者を照らす形でライティングを自動的に追加しているのだという。位置や露出とかもしっかりと対応しているので、顔が見えなくならないようなっている。この点は、ライティングアーティストが協力してくれたという。

 こうしてようやく作品が完成した。開発時の苦労は1時間では語り切れるものではなく、“シネマティックカットシーンのプロシージャル生成”は、これまでにない取り組みだっただけに、けっこうな困難が伴ったようだ。パラディ氏の口からは、「カットシーンが街中で起きると、途中でNPCに横切られたりするので、それは避ける仕組みを作った」「ボリュームが多くなっていく上で品質管理をどうするかが難しかった。シネマティックデザイナーがレビューして品質管理しようと思ったんだけど、最新版がどれかわからないという状況になった。そこで思い切って毎晩カットシーンを生成するようにしたんだ。おかげで、どれが最新か間違えなくなった。もちろんそれでも大変だったんですけどね(笑)」といった話も聞かれた。まあ、これもノウハウとして蓄積されていくわけですが……。

 最後にパラディ氏は、「ツールを作っても使ってもらえないことはままある。ツールを作るチームの責任は、それを使ってもらうところまで」とツール制作者の心得を語ったうえで、「プロシージャルシステムを使えるところを探そう!」と提言。「かつては多数のレベルアーティストがいないと作れなかった広大な空間も、プロシージャルシステムがあれば、いまは生成できます。そうすればアーティストはより大事なところに注力できるんです」と講演を締めくくった。

 ゲームの開発現場は日々進歩している。そんな最先端の開発事例がうがけるとともに、『アサシン クリード オデッセイ』の凄みの一端が伝わる、好セッションだった。