SIGGRAPH ASIA 2009レポート

スクエニ、「FFXIII」のリアルタイムカットシーンワークフローを公開
制作期間は16カ月。美麗なカットシーン制作の舞台裏が早くも披露!


12月16日~19日開催

会場:パシフィコ横浜



カンファレンス会場の様子
講演の司会を務めたスクウェア・エニックスの開発スタッフ。左から田中雄介氏、小林功児氏、吉田光陽氏、村松瑞樹氏

 コンピューターグラフィックスの最新技術の展示会「SIGGRAPH」のアジアパシフィック大会「SIGGRAPH ASIA 2009」が12月16日から19日までの日程でパシフィコ横浜において開催されている。初日の16日に、Mayaなどの3Dツールを扱っているオートデスク主催による、無料のセミナーが行なわれた。

 本稿では、複数行なわれたセッションのうちの1つ「『FFXIII』リアルタイムカットシーン・ワークフロー ~『FFXIII』のカットシーンができるまで~」と題した約1時間半の講演を紹介する。このセッションは、本日12月17日に発売された「ファイナルファンタジーXIII(以下、『FFXIII』)」の中で使われている、リアルタイムレンダリングによるカットシーン(イベントシーン)を作るためのワークフローについて、開発担当者自らが解説をするというもの。講師として登壇したのはスクウェア・エニックス開発部イベントモーションディレクターの田中雄介氏の他、小林功児氏、吉田光陽氏、村松瑞樹氏の4氏。

 セッションでは、「モーション」、「フェイシャル」、「シミュレーション」、「エフェクト」といった分野別に、どのようなワークフローで制作が行なわれていったのかを解説した。



■ 無駄のないワークフローの構築がクオリティの絶対条件

講演の司会を務めた田中雄介氏

 「FFXIII」ではゲームの最中に挿入されるイベントのムービーをカットシーンと呼んでいる。「FFXIII」には約9時間ものカットシーンが使われているが、その中身は社内のムービー制作チーム“ヴィジュアルワークス”が制作したプリレンダリングのムービーと、約6時間のリアルタイムレンダリングのカットシーンに分かれている。今回のセッションで対象となったのは、モーションキャプチャーデータを使ってカットシーン班が制作した、リアルタイムレンダリングのカットシーンだ。総製作期間は約16カ月。短期間にこれだけの時間のムービーを作るために「フローを後戻りしない」、「多セクションでの並行作業」というキーワードが決められた。

 「フローの後戻りをしない」というのは、フェイズが進んだ段階で前に戻ってのリテイクをなるべく避けるというもの。当たり前のように聞こえるが、チェックをする人間の決断力が必要で、意外と難しいのだそうだ。もう1つの「多セクションでの並行作業」は、どこかのセクションが作業を終えないと次の作業に入れないといった、作業の足止めを極力なくすような体制作りを指すということだ。「FFXIII」では、作業は完全な分業体制になっていて、セクションをまたいで作業を行なうことはほとんどない。田中氏によると、これら2つの目標はある程度成果を上げて、「FFXIII」では短期間で一定のクオリティを保つことができたと言う。


ワークフロー作成の目標。限られた時間の中で効率的な作業を行なうための方策が考えられているカットシーン作成のためのワークフローの全体図「FFXIII」の開発は、完全な分業体制で行なわれた

・ 絵コンテから「step1」映像へ

 スクウェア・エニックスには、絵コンテを専門に作るストーリーボードセクションという部署があり、「FFXIII」のカットシーンの絵コンテもその部署に発注して制作された。完成した絵コンテを元に、MotionBuilderを使って3DCGの映像を作っていく。

 ツールにMotionBuilderを採用した理由については、十分な機能があること、モーションキャプチャーのデータもMotionBuilderで管理するのでデータが一元管理しやすいこと、64bitOSに対応してキャラクタートラックが増えた場合のレスポンスが改善されたこと、などが理由だそうだ。カメラの制御など、機能として物足りないと感じた部分は、独自にプラグインを制作することで対処している。

 MotionBuilderで絵コンテを映像に起こすが、この段階ではまだ尺もカメラも確定はしていない。モーションは、あらかじめ用意しているいくつかの汎用モーションを組み合わせて、足りない部分のみ手でつけられている。その後の作業の基本となるこのプリビズ映像を、プロジェクト内では「step1」映像と呼んでいる。

カットシーンの絵コンテ
作成されたプリビズ映像。この時点では動きは、プリセットを組み合わせて作られている

・ モーションキャプチャーの収録

 「step1」映像が完成したら、モーションキャプチャーの収録準備を行なう。モーションキャプチャーは、プロの俳優を使うのでコストがかかる部分でもあるため、収録前に入念な打ち合わせを行なう。資料と「step1」映像で必要な小道具などを徹底的に洗い出し、最終的な収録時間をはじき出していく。収録中は「srep1映像」をプロジェクターで映して、複数の役者に演出の意図が伝わりやすいようにするといった工夫も行なった。講演ではモーションキャプチャー収録中の映像も公開されたのだが、諸事情により撮影はできなかった。

 収録後は、データをMotionBuilderで編集していく。この時にすでに声が入っているが、これはモーションを収録するときに同時にとった仮の音声で、リップシンクなどの作業を同時に行なっていくために使用するのだそうだ。

 ここまでの作業が終了した時点で、カットシーンのレイアウトと尺はほぼ決定して、これ以降の修正は極力少なくする。この映像をプロジェクトでは「step2」映像と呼んでいる。この段階で、MotionBuilderでの作業は終わり、以降は「FFXIII」のエンジンでもある、社内開発のミドルウェア「CrystalTools」へデータを移して作業を行なうことになる。

 CrystalToolsは実機でゲームを動かすためスクウェア・エニックス内で開発されたツールで、作業ごとにいくつかのツールに分かれている。カットシーンの編集で使われるのはCutEditorというツールだ。CrystalToolsではモーションのデータを全てカット単位に分けて管理するので、それに合わせてデータがコンバートできるMotionBuilder用のカスタムプラグインを制作してある。このプラグインを使うと、モーション、カメラ、ストーリー上のタイムラインの配置情報をカットに分けて出力できる。

モーションキャプチャーの事前打ち合わせ用の資料。右にセリフや演出意図がまとめられているカットシーン内に登場する人物やメカの詳細な資料会議で最終決定された、収録内容の一覧
モーションキャプチャー用に作った小道具MotionBuilderのカメラのためのプラグインモーションキャプチャーのデータに差し替えた「step2」映像
MotionBuilderのデータを、CrystalToolsに移すためのカスタムプラグインCrystalToolsのCutEditorの画面モーションキャプチャーのデータに差し替えた「step2」映像


■ パートごとにわかれたファイル管理で、同時並行作業を実現

モーションのフローチャート
モーションセクションは4つの班に分かれた24名で構成されている

・ モーションセクションのデータ管理方法

 モーションセクションでは、「step2」映像を元に、ボディーモーションの調整、仮音声を使った仮フェイシャルの作成、髪の毛や布を揺らすシミュレーションの作成、そして声優による本ボイスが到着したら、それをつかった本フェイシャルの調整などを行なう。作業は、フローチャートにもあるように、ボディーモーションの調整と仮フェイシャル作成、シミュレーションの作成と本フェイシャルの調整は同時並行的に行なわれる。

 セクション内は4つの班に分かれている。MC班はモーションキャプチャーのデータを調整する部署で、普段は2名だがキャプチャー収録後の忙しい時期には、ボディモーション班から助っ人が入る。ボディモーション班は4名ごとのチームが4つの16名で、モーションキャプチャーでは撮影不可能な動きや、モンスターの動きを手作業で作成する。フェイシング班は7名で、キャラクターの口の動きを台詞に合わせるリップシンクや、顔の表情だけを専門に手がける。シミュレーション班は3名で、髪の毛や、コートの裾、マフラーなどの動きを作成する。作業が終盤に入ると、他の班から助っ人が入ることもあるそうだ。

 1つのモーションデータについての作業を、同時に行なうためにスクウェア・エニックスでは「Miga」という拡張子の中間ファイルでデータを管理している。「Miga」のデータは、ノードごとに出力することができる。モーション、フェイシャル、シミュレーションがそれぞれ別のファイルに分かれ、それらを統合してバイナリデータを作成していく。実際には、モーションなどのデータ以外にも足音や、物理演算のデータ、それらのバイナリなど、1つのモーションのために必要なファイルは最大で15ファイルにもなってしまう。

 カットシーンの説明で使ったシーンを例に取ると、全てのファイルを合計すると3,675ファイルになる。これら膨大なファイルを、なるべくミスなく管理するために「Neji」と呼ばれるファイル管理ツールと、カットシーン専用のGUI(グラフィカルユーザーインターフェイス)が作られている。さらにアップロードするときには必ずコメントを書き込んで状況が分かるようにしているが、それでもヒューマンエラーの撲滅には至っていないそうだ。

1つのモーションのデータは3つに分けて作られる
3つのファイルを統合して1つのデータにする1つのモーションに使われているファイルの構成カットシーンの例に使ったシーンのファイル総数
ファイル管理用ツール「Neji」カットシーン用のGUI必要な情報を簡単に取り出せる

・ ボディモーションの使用ツールについて

 ボディモーションの調整には、MotionBuilderが採用された。これまで同社のモーション調整にはXSIが使われており、今回が初めての採用となった。その理由については、キャプチャーデータが修正しやすい、カット班との連携が取りやすい、ノーマルな人型キャラが多いという3つがあるのだそうだ。ただ、一部の派手な動きと、モンスターの動きに関しては従来通りXSIで作成されている。これはモンスターのリグ(モデルを動かすための骨組みの構成のこと)がXSI用しかないためで、カットシーンに出番の少ないモンスターのために新しくMotionBuilder用のリグを作るよりは、慣れたツールで作ってしまったほうが早いという理由からだ。この2つのツールと、Mayaで相互に読み込めるプラグインを作る事で、コストパフォーマンスのいいツールを使い分けることができたが、データ管理の面から言うとやはりDCCツールは一元化するに越したことはないとのことだ。

「FFXIII」ではモーション用のツールとしてMotionBuilderが採用された採用された3つの理由。最終的にこれがゴールへの近道と判断されたプラグインを使って、2つのDCCツールでファイルを相互に管理できる

・ フェイシャルの作業工程について

 フェイシャルモーションの作業は、仮リップシンクの作成、本データの調整という2段階に分かれている。これまでは本データとなる声優の声の収録がどうしても開発中盤以降になるため、作業が後半に集中していた。それを前倒しして、作業を分散させるための処置がこの2段階に分かれた作業だ。モーションキャプチャーを収録するときに、俳優の声を同時に収録し、それをサウンド班が仮データとして作成する。このときに、管理用のIDを本番用と同じにしておく。カットシーン班は「step2」映像を作るときに、この仮データを本番のデータと同じタイミングで配置する。こうしておけば、後々データを差し替えるだけでよくなるのだ。

 とても便利な方法だが、そのためには2つ気をつけなければならないことがある。1つは、キャプチャーデータの収録までに、台本を完成させておくこと、台本が変更になると前倒しでリップシンクを作る意味がなくなってしまう。もう1つは「step2」映像を変更しないこと。レイアウトや尺が変わると、せっかくリップシンクを作ったキャラクターが画面外に出たり、台詞のタイミングが変わってしまったりと、フェイシングの作業に大きな影響を及ぼしてしまう。逆に前倒しの調整がうまくできていれば、最終調整では音声データの差し替えや、仮作業で配置したキーフレームの微調整など非常に少ない労力で済む。

 音声データは、配置情報をカットシーン班が、IDと音声データをサウンド班が決定し、管理している。フェイシャル班はその両方が持つ何千というデータの中から必要なものを探し出して、リップシンクを作っていく。そこでミスを防ぐために、フェイシャル班用に音声データの情報が一元化した形で見られるウェブツールが作られている。

 このツールを使うと、セリフの内容やファイルサイズ、IDなど必要な情報を1度に確認することができる。これをXSIのネットビューから呼び出して、目的のセリフをダブルクリックするだけで、音声データをファイル上に貼り付けることができる。「必要な情報を1カ所に集める事で、スタッフは無駄な確認作業から解放されます。ミスも減って、クオリティを上げる時間も確保できると一挙両得です」(田中氏)。

フェイシャル班の作業工程サウンドデータはウェブツールで一元管理できるサウンドデータを使ってリップシンクを作っていく

・ リップシンクの作成工程は2種類

 フェイシャルのリグでも、無駄を省くためのツールが活用されている。ツールには、「あ」、「い」、「う」、「え」、「お」の母音といくつかの口の形が登録してあり、これを使ってセリフを聞きながらリップシンクさせていく。口角を上げたり、口を上げ下げするなどさらに細かい微調整を、元のデータにブレンドさせる形で加えて完成させる。

 全てのシーンのリップシンクをこの方法で作ると手間がかかりすぎるため、一部は音声解析による自動リップシンクを使っている。イベントシーンに使われる4つのモーションのうち、フェイシャル班が作るのは、モーションキャプチャーデータを元にした動きのものだけで、手付けしたモーションや汎用モーションを使ったシーンには、音声認識エンジンが使われている。

 今回使用されたのは、日本語音声がNHKエンジニアリングサービス(NHK技研)の技術で、北米版の英語音声は旭化成の「VORERO」という音声認識ミドルウェアが使用されている。どちらも早口だとぶれてしまうなどの改良点はあるが、使い所さえ考えれば充分使用できるもので「これから確実に動いていく分野なので、大いに期待したい」と田中氏は語っていた。

ツールに登録してある口の形をセリフに合わせて登録していく
リップシンク作業の区分け今回は日本語版、英語版で別の解析エンジンが使われた解析エンジンのデモムービーでは実に自然な動きをしていた



■ 自動物理演算処理を併用して、空いた時間に職人技を極める

従来までのシミュレーションのワークフロー
自動ツールを使うことで、作業効率を上げた

・ シミュレーションのワークフローを刷新

 「FFXIII」では2種類の物理シミュレーションを使っている。1つはDCCツールを使ってアニメーションデータとして使用するもの、もう1つはCrystalToolsを使って実機で計算させるシミュレーションだ。双方得手不得手があるので、保険的な意味で併用したのだそうだ。このセッションでは、主にDCCツールを使用したシミュレーションの制作について紹介された。

 本作のシミュレーション制作には「動くべきものを動かす」という目標と、「次世代のモーション制作標準規格の検討」という課題が設定されていた。目標については「これまでリアルタイムの演出では妥協されていた髪の毛や衣服などの部位は、とりあえず動かしてみよう」(村松氏)というもので、特に風をはらんだ表現には注意を払ったそうだ。結果は「ほぼ実現できた」(村松氏)らしい。

 「次世代のモーション制作標準規格の検討」については、クオリティとコストを天秤に掛けて、どれくらいのものが出せるかという落としどころを確認するという意味で設定された。結果、クオリティについては「半歩先に踏み込めた」(村松氏)。コストについては、今回は研修期間なども含めるとそれほどパフォーマンスがよいわけではないが、この結果を踏まえて次のチャレンジでは半分以下に圧縮できる手応えを感じたということだ。

 シミュレーションの制作にはXSIのVer.5.11が使われている。XSIを採用した理由は、このツールがモーション班のスタッフが標準配備しているものなので助っ人が合流しやすいことや、ツールへの慣れ、、今まで使っていたリギングなどがそのまま活かせるからということだ。それに、CrystalTools用の物理プラグインがリリースされていたことも要因となっている。

 シミュレーションのワークフローは、それまでのものでは時間がかかりすぎるとの判断から大きく見直した。新しいワークフローでは、イベント単位で物理リグのひな形を再調整し、処理をするぶんだけモーション単位で準備をする。それをバッチスクリプトで演算からアニメーション出力まで一括して行なうというものだ。この方式にしたことで「いけそうだと、手応えを感じた」(村松氏)そうだ。

「FFXIII」でのシミュレーション作成の目標今後につなげるための課題ツールには使いやすさを考えた結果XSIを採用

・ 髪の毛や布を動かすための2つのリグ

 「FFXIII」では上記にある「動くべきものをうごかす」ために「クロスリグ」と「スプリングリグ」が使用されている。「クロスリグ」は主人公「ライトニング」のマフラーなどを自然に動かすためのリグ。他にもエクスプレッションなどで下げきれない部位、接触判定が複雑そうな部位などで使用されている。会場のデモでは、球体を近づけると、球体の形に添って動く様子が紹介された。

 「クロスリグ」の管理は、Syflex Editorという内製のツールで行なえる。Syflex Editorには「クロス」のシミュレーションンで頻繁に使用するパラメーターが一覧にまとめられている。また、複数のSyflex Editorオペレーターでグループを作って、パラメーターを一括管理できるようになっている。

 もう1つは主に髪の毛に使用されている「スプリングリグ」だ。ボーンは1~2本と少なく、動作は軽い。オフセットコントローラーという内製のツールを使うことで、全てのボーンに対してオフセットアニメーションをセットすることができる。

 髪の毛はほとんどが1関節のボーンで作られている。イベントでは多くのキャラクターが登場するので、無制限にボーンを使う事はできないため、限られた数のボーンでいかに効果的に見せられるか、が重要になる。今回は髪の動作軸をなるべく感じさせないようにエンベローブウエイトのグラデーションを毛先まで入れている。重なってポリゴンが潜り込まないように、下の毛は上の方への、上の毛は下の方への動きを抑えるようにリグで制限を掛けてある。それでも制御しきれない場合は、オフセットコントローラーで調整する。

「FFXIII」では2つのリグが使われた「クロスリグ」「クロスリグ」のデモ
「スプリングリグ」スプリングリグ」のデモ。重力を下げると髪が逆立つ1本のボーンで構成された髪の毛
エンベローブウエイトを設定した髪の毛「クロスリグ」管理用のツールSyflex Editorキーフレームにアニメーションをつけるためのオフセットコントローラー

・ 物理演算の自動処理

 シミュレーションのワークフローにあった、自動処理についての説明もあった。この自動処理は、ボディモーションとひな形となる物理セットアップを使って、バッチスクリプトを実行すると、物理演算からアニメーション出力までを自動的に行なう。処理の流れの中にある「原点付近にキャラ移動」という項目は、キャラクターが原点から離れた場所にいる場合、処理の精度に問題があったので追加されたものなのだそうだ。

 自動処理ができるようになったことで、バッチが走り出せばあとはほぼフルオートなので、サーバーさえ強化しておけば多少重たいセットアップでも無理なく使う事ができるようになった。処理の時間は、10カット1,000フレームをおよそ20分で処理して、そのうち半分は修正が不要のクオリティだったそうだ。おかげでシミュレーションのデザイナーは、自動処理のおかげで空いた時間を使って、難しいカットや力を入れたいカットに専念することができた。

 ではなぜ、計算によってディティールを処理するプロシージャルがゲームの演出の主流になりつつある中、なぜ手作業のシミュレーションにこだわるのか。手作業によるアーティファクトはインタラクティブ性には劣るが、カメラやモーションが決まっている場合には、思った通りの画面を作りやすい。村松氏によると、「メーカー各社が物理演算エンジンに力を入れてきていが、まだまだ融通が利きにくい。現時点では、両方の利点を生かして併用しなければ、理想の表現にはたどり着けない」と語った。「FFXIII」では映る範囲が完全に確定しているシーンについては、「1本のボーンを骨の髄まで使い切って表現するという、当社の職人が得意とする土俵で勝負ができました」(村松氏)という、職人仕事が随所に生かされている。

 とはいえ、現在は端境期であり、コスト面の問題からも今後いっそうプロシージャルな傾向が強まることは間違いない。「FFXIII」でも、汎用モーションをボディのぶんだけ並べて、付属物はプロシージャルに生成することで、モーションのつなぎ目の違和感を緩和させる、などの方法で利用されている。今回2つの技術を併用して、デザイナーがプロシージャルのパラメーター管理に慣れることができた。これは将来の「アーティファクトシージャルなアニメへの下準備」へとつながっていくだろうと、村松氏は期待を語った。

物理計算の自動処理ツールの処理の流れ自動処理の意義職人仕事とプロシージャルの併用



■ テクスチャのライブラリ化で作業効率をアップ

・VFX班の作業の流れ

 VFX班には、大きく3つの作業パートがある。1つは、戦闘中の魔法やモンスターなどのエフェクト。2つ目はワールドマップを演出するためのフィールドエフェクト。そしてカットシーンを演出するためのエフェクトだ。このうちカットシーン作成にかかった期間は15カ月程度。ピーク時は11人のスタッフ中6人が、他の作業と掛け持ちをしつつカットシーンのエフェクトを作成していたのだそうだ。

 どんなエフェクトが必要になるかは、シナリオができた段階で企画班からある程度の話がある。この段階ではまだこんなものがやりたいという大枠のレベルなので、作業コストは測れない。例えば、あるシーンでは大爆発のエフェクトが1つだけだが、別のシーンではスイッチを点灯させるちいさなエフェクトが20個必要だといった場合、大爆発の方がコストがかかったりと、単純に数だけではコストを計算することができないのだ。「step1」映像が来た時点で、シーン単位でどんなエフェクトが必要でどのくらいのコストがかかるのかが、ようやく概算できる。この段階で、表現的に難しいものや問題がある箇所がある場合には、各班と打ち合わせをして調整することもある。

 「step2」映像では、ボディモーション、カメラワーク、シーンの尺がほぼ確定するので、これを元に必要なエフェクトをリストアップして、データベースとして登録する。このデータベースはCrystalToolsの各ツールと連動していて、進捗管理とともにツールに反映されるようになっている。このデータベース化の作業が終わると、実際にエフェクトを作成する行程に入る。

「VFX」はビジュアル・エフェクツの略で特殊効果の意味エフェクト班の構成カットシーンのVFXの作業工程
「step1」映像から、カット単位で必要なエフェクトを洗い出す必要なエフェクトをすべてデータベースに登録するエフェクト作成に使用されているツール

・ リソースを共有化して作業効率を上げる

 テクスチャはフォトショップをメインに作成する。テクスチャは、最終的なクオリティを大きく左右する要素なので、アニメーションした時の見栄えをチェックするだけでも、かなりの時間を必要とする。そこで、プロジェクトが量産体制に入る前に、「FFXIII」に限らずエフェクトのスタッフが共有できるテクスチャやモデルのリソースのライブラリを作って、そこから必要なものを取り出して使えるようにして、作業の効率化を図った。

 ただ、全てを出来合いのものだけで作ってしまうと、表現に妥協が出てしまうという理由から、必要な所では専用のテクスチャを作ってある。このライブラリによって、エフェクトデータの作業スピードは格段に上がったのだそうだ。

 モデルのリソースはMayaで作られる。アニメーションの作業はCrystalTools上で行なわれるので、ここではモデリングとテクスチャのUVマッピングのみを作成する。シェーダーは、オリジナルのものも含めてたくさんあるが、使いこなすためには知識が必要となる。そこでシェーダーを一覧できるUIを作って、ボタンを押していくだけで複雑なノードを組み合わせたシェーダーを簡単に作れるようにした。

 こうして作ったリソースを、CrystalTools上に移してアニメーション作成の作業を行なう。ここではCrystalToolsの中のEffectEditorというツールを使用する。EffectEditorはリアルタイムに実機でプレビューができるようになっており、常に最終結果を見ながら作業することができる。実機の映像はゲーム画面なので、コントローラーで操作しながらいろいろな角度からエフェクトを確認することも可能だ。

 エフェクトはレイヤー構造になっているので、見たい部分だけを取り出して繰り返し再生しながら調整することもできる。レンダリングの待ち時間がないので、「リアルタイムにトライ&エラーを繰り返して、納得がいくところまでアニメーションを作り込んでいくことができます」(吉田氏)。CrystalToolsでは、Mayaで設定したパラメーターがそのまま使えるので、いちいちMayaに戻って修正しなくても、CrystalTools上で細かい修正が可能だ。

 より複雑なシェーダーが扱えるようになったことで、シェーダーの数だけモデルが増えてしまうという事態が発生した。解決法として、描画用のモデルと、シェーダー用のモデルを分けて、シェーダー用のモデルがアサインする形にした所、ゲームメモリも節約することができるという嬉しい副産物があったそうだ。

テクスチャはフォトショップで作成ゲームを越えて使用できるライブラリを作成モデリングのリソースはMayaで作成
ボタンを押すだけで簡単にシェーダーを設定できるUIを作成作業はCrystalToolsのEffectEditorで行なう実機でのリアルタイムプレビューを見ながら調整を行なう
新しいシェーダーが入ると、そのぶんモデリングのデータが増えて膨大にモデリング用と、シェーダー用のデータを分けた実機上のメモリも節約できた

・ エフェクトをキャラクターにアタッチする

 EffectEditorで作成したデータを、実際のモーションにセットするための作業は、CrystalToolsのCutEditorで行なう。エディターで編集した結果を、実機でリアルタイムに確認できるCharaViewerで見ながら、位置や角度を調整していく。

 完成したモーションやキャラクターの出る、サウンドなどをタイムラインに組み込んでカットシーンを作っていくのは、企画班の仕事だが、同時進行でエフェクト班やカットシーン班がエフェクトやライティングの作業を行なうことがある。これらの作業を同時に行なえるようにするため、タイムラインに権限トラックというラインを用意。エフェクト班はエフェクトのトラックしか操作できないといった形で作業エリアを分けて、最後に全てを統合するという形を採用した。これで、別の班の作業終了を待つという無駄な待機時間をなくすことができた。

 また、ムービーパートで使っているエフェクトが、リアルタイムと違和感が出ないように、あらかじめエフェクト班ですりあわせのための動きのイメージを作成して、それを使って色や動きを打ち合わせるといったことも行なわれた。ムービーにも登場する花火のシーンは、エフェクト班が作った、リアルタイムで動く花火のエフェクトが動きのベースになっている。

CharaViewerでエフェクトをキャラクターにセットする作業はCrystalToolsのEffectEditorで行なう銃にはポイントライトがしこんであって、発砲に合わせてキャラクターに照り返しが映り込む。薬きょうが飛び出す細かい部分もエフェクトで作っている
エフェクトを入れる前の背景炎や粉じんを重ねて雰囲気を作る完成したエフェクトはCutEditorで実装する
ムービーとリアルタイムの整合性をとるあらかじめエフェクト班が作ったイメージ



■ ライティングを重視して、実機とリンクしたツールを開発

ポストエフェクトはレンダリングした結果に対して最後に行なう調整の総称だ

・ 重要性を増すライティング

 ゲームハードが進化するにつれて、ライティングも演出の中で非常に重要なポジションを占めてきている。下のスクリーンショットは、ライティングを設定してない画面と、完成した画面の比較だが、全く違う画面といっていいほどに印象が違っているのがわかる。「FFXIII」ではライティングを重視し、カット単位でキャラごとに調整を行なっている。膨大なカット数と、タイトな開発期間の中でクオリティに妥協することなく効率的な作業を行なうために、ライティングの調整をおこなうための方法を試行錯誤したのだそうだ。

 最終的には、PCの作業環境を実機と同機させて、テレビモニターで結果を確認しながら調整ができるようにすることで、最終状態を見ながら素早く試行錯誤を繰り返せるようになった。この仕組みが、カット単位でのライティング調整を可能にした。

ライトとシャドウが未設定の画像ライトとシャドウを設定下同じシーン
ライトが未設定の画像ライトがはいるとがらりと雰囲気が変わる
ライティングの範囲を視覚的に表示して調整しやすくしたPCと実機の環境をリアルタイムでリンクさせた

・ もはやゲームには欠かせないポストエフェクト

 レンダリングした画像に最後に調整をいれるポストエフェクトは、今やゲームの画像制作では当たり前のテクニックになりつつある。「FFXIII」でも当然、ポストエフェクトが随所に使われている。スクリーンショットでは3種類の例が紹介された。この例では、Photoshopのトーンカーブの数値をそのまま実機ツールに読み込めるカラーコレクションフィルタ、遠くをぼかす被写界深度フィルタ、夕日の明るさを演出するグレアフィルターなどが使われている。

ポストエフェクトをオフにした画像カラーコレクションフィルタを適用した画像
被写界深度フィルターを重ねた完成画像最初の画像との差は一目瞭然だ
フィルターなしの画像カラーコレクションフィルターを適用
被写界深度フィルターを適用グレアフィルターを適用した完成画像

・ ゲームのリアルタイム映像の可能性

この画像を見て、小林氏はリアルタイムの映像表現に可能性を感じたという

 周囲の反射全てを反映させるグローバルイルミネーションの技術も簡易的ではあるがランタイムでの表現が可能になってきている。「実際に作業現場にいると、リアルタイムの映像表現が急速に進歩していると、とても強く感じます」と小林氏。しかしプリレンダリングの技術も同様に進歩してきているので、まだプリレンダリングの表現にはかなわない。

 それでも「今回のFFXIIIの中で作成されたリアルタイム映像は、いろいろな制約がある中で、かなりいいセンまでいくことができたのではないかという手応えを掴んでいます」と小林氏。主要キャラクターが全員あつまっているスクリーンショットを見て「リアルタイムもついにここまで来たか」(小林氏)と映像の可能性を強く感じたという。リアルタイム映像の作成にはレンダリング待ちという時間が存在しない。そのため、簡単に試行錯誤を繰り返す事ができるという点が1番の魅力なのだそうだ。「今回の私たちの講演を聴いて、少しでもリアルタイムの映像表現に興味を持っていただけるとうれしいです」と締めくくって、1時間半に及んだ講演は終了した。

 最後に、解説で使ったシーンの最終的なムービーが上映された。数年前ならプリレンダリングのムービーでしか表現し得なかった緻密な演出が、リアルタイムでここまで表現できるようになったという技術の進歩の早さには、筆者も改めて驚きを感じた。ツールと、ワークステーションの性能、そしてゲームマシンの描画性能という3つのテクノロジーが猛烈な勢いで進化していく中で、それを扱う人間のスタンス如何によって完成した作品は全く違ったものになる。

 講演の中で、“半歩先のクオリティに踏み込めた”という言葉があった。完成した時点では半歩先でも、スタート時点では2歩も3歩も先だったはずだ。今の技術では不可能だと思えるような映像を常に念頭に置いて、実現の可能性を探っていかなくては他のメーカーがスクウェア・エニックスの進歩に追いつくのはなかなか難しそうだ。


(C) 2009 SQUARE ENIX CO., LTD. All Rights Reserved. CHARACTER DESIGN: TETSUYA NOMURA

(2009年 12月 17日)

[Reported by 石井聡]