株式会社カプコン 
『バイオハザード5』が放つ極限のグラフィック

株式会社カプコン 『バイオハザード5』が放つ極限のグラフィック
  • Maya
  • MotionBuilder
  • カプコン
  • ゲーム

豊かなアニメーション表現を可能にするリグセットアップ

クリスとシェバは、22 個所のコントローラで構成される IK ベースのリグセットアップが行われている。両キャラクタで骨の長さは異なるが同一のリグである。このセットアップには、多数の補助関節も仕込まれているという。なかでも、肩からのねじれと、手首からのねじれの両方を考慮する補助関節は見事なものだ。人間の関節構造を観察した次のような工夫が行われているのだ。

肘をまっすぐに伸ばした状態で、手首を回転させると手首からのねじれに対して上腕は微妙に反応する。しかし、肘を 90 度に曲げた状態で手首を回転させた場合には、肩側はねじれに反応しないように考慮されたセットアップになっている。これらの仕組みは、Softimage 上では手首の角度とひじの角度からねじれを自動で割り出せるエクスプレッションによって制御されている。また、ゲームエンジン上では Softimage 上と同様の挙動がプログラム処理で再現される。ほかにも、人間の考えうる動きでは一切の破綻が起きないことを考慮した完璧なリグセットアップが行われている。

では、リグデータは実際どのようにゲーム上で再現されているのだろうか?Softimage と同じ IK 制御のリグをそのまま全てゲーム上で再現することは、プログラム負荷が高くなってしまうため現実的ではない。そこで、『バイオ5』では、足の制御のみ IK としてゲーム上で再現されている。そして、足以外でキーフレーム情報を持つ約 60 本の稼動ボーンは、FK でゲーム上は制御されている。つまり、腕のアニメーションは、IK から FK に変換されゲームで利用されている。

ここで、メモリを有効活用するために、FK の回転値に変換したキーフレーム情報にはリダクションが行われている。つまり、FK のキーフレーム情報を全フレームにプロットした状態から、どの程度キーを間引くかという調整が行われるのだ。ただし、やみくもに間引いてしまうと肩から腕、そして手首とリグの先端に行くほどに回転値のずれが波及して、大きな誤差を生む状況が発生しかねない。そこは、効率よくデータを削減しながらも、アニメーションのクオリティを落とさない細心の配慮が行われているのだ。

触手キャラクタのセットアップ

『バイオ 5』には触手や尻尾を持ったキャラクタが多数登場する。そこで、触手のセットアップと動きの制御を目的とするスクリプトがモーションチームによって準備された。

触手リグの内部的なセットアップにはパスコンストレインが用いられ、パスに対してクラスタを作成したものが触手をドライブしている。さらに、エンベロープによる関節制御という二重のセットアップが仕組まれているのだ。これにより有機的な触手の動きが豊かに表現されている。

まず、触手の大まかな形状をパスによって定義する。すると、根元から先端へ伝わるねじれや伸縮などの、細かい動きが自動で表現される優れたリグである。もちろん、自動制御のみならず、Fカーブエディタにアクセスして、触手のアニメーションを自分の望む動きに調整できる

また、一見すると複雑なリグに見えるかもしれないが、ゲームには回転とスケール値のみを書き出す仕様となっている。表現力、制御の容易さ、メモリ管理など全てにおいて優秀な触手リグのセットアップを自動化させたことで、何体も登場する触手キャラクタの制作も効率良く対応できたという。

インゲームのモーション制作モーションワークフロー

インゲームモーション作成の流れ
企画内容の検討

必要なモーションのリスト化

社内キャプチャルームでのモーション収録

MotionBuilder から FBX 出力

Softimage 内でアニメーション編集

『バイオ 5』プロジェクトでは、モーションキャプチャデータをベースに、Softimage 内でアニメーションを加工するワークフローで作業は進められた。

生身の人間をキャプチャした状態のモーションは、そのままゲームで使用するには、プロのアクターが演じたものであってもスピードが足りないことが多いという。『バイオハザード』自体、ゲームにおけるモーションスピードは、速い部類のタイトルではないそうだ。しかし、それでもキャプチャデータは、最低 1.5 倍の速度に加工されているという

「単純にアニメーション速度を加工しただけでは、どうしても軽い動きになってしまいます。そこで、スピードは速めつつも重量感を失わないモーション作りを常に心がけています。余韻や予兆が気持ちよく、かつ戦闘の駆け引きとなるように表現することが、ゲーム的なアニメーション編集作業で重要なことだと考えています。」とモーションチーム清家氏は語ります。

モーション編集作業では、Softimage のアニメーションレイヤ機能が役立ったそうだ。アニメーションレイヤを利用すると、背筋を伸ばしたり猫背にしたりといった姿勢の修正や、モーションの軌道を少し変更する等の調整が即座に行える。ベースのカーブ情報を意識することなく、モーションを重ねる加工が柔軟に行えるのだ。追加したレイヤを結合させることで、ベースモーションにキー情報をまとめることも簡単に行える。

さらに、タメや間を表現するための緩急の調整では、アニメーションミキサの機能が多用されている。アニメーション情報をミキサクリップに変換したうえで、Warp 機能の F カーブを調整することで、再生スピードの緩急のタイミングは自在に調整が行えたという。

各種スクリプトを用いた作業の効率化

キャラクタはボディだけでも80本のボーンが存在する。また、前述のとおり、多数の二次関節を含むエンベロープウェイトが複雑なデータである。そこで、複数のキャラクタに同様のセットアップを行うときは、Softimageの属性転送機能であるGatorが頻繁に利用された。新規にキャラクタを作成する場合でも、既存の属性を転送して活用するなど、ありとあらゆる場面でGatorは活躍をしたという。この強力なGatorをさらに効率的に利用するため、スクリプトを用いた機能の拡張が図られた。具体的には、複数オブジェクト選択状態からのGatorでエンベロープ情報を保持して転送させることや、頂点単位でもGatorが利用できるようなツールが作成されたという。これにより、ワークフローの幅が広がり、作業効率も大きく向上したそうだ。

プロジェクトの最中には、他の様々なツールも作成された。例えば、1列に並んだボーンに均等なエンベロープウェイトの割り当てが必要なデータがゲームには良く登場する。触手や布といったデータがそれにあたるだろう。しかし、標準機能のまま1列に並んだボーンにエンベロープを割り当てると、メッシュが滑らかに変形してくれない問題が発生してしまう。これを解決するために、キャラクタモデルチーム福井氏は、次のような処理をスクリプト化して対応することを考え付いたという。まず、裏処理で複製した別メッシュをサブディビジョン化し、エンベロープを割り当てる。そして、Gatorによってその属性をもとのローポリゴンのオリジナルメッシュに返すという処理である。これにより、少ないボーン数でも綺麗なカーブを描きながら、変形に対応させることを実現できたという。

ポリゴンの対称化とウェイトミラーを組み合わせた面白いオリジナルツールも存在するという。対象マップテンプレートを必要とするが、モデル単位はもちろん、ポリゴン部分単位でのミラー処理とエンベロープの保持が実現できる優れものだ。

繰り返しの手作業をなるべく減らすために、思いついたら直ぐツール化することを福井氏は常に心がけているという。自分だけでなく他の人の負担も減らせるため、とても大事な作業であるという。作成したスクリプトやプラグインは、ワークグループで管理を行い、社内全員が最新のツールを常に利用できるような環境が整えられているという。

〈 次ページへ続く 〉Autodesk Maya を利用した背景制作

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。