数ある人気タイトルをリリースし続けるカプコンが、東京は9月19日(木)にCIRQ新宿8Fホール、大阪は9月24日(火)にブリーゼプラザ・小ホールにて「カプコンオープンカンファレンス RE:2019」を開催した。中篇となる本稿では、アニメーション技術解説のセッションから『バイオハザードRE:2』(2019)での活用事例について紹介する。
■関連記事はこちら
内製エンジン「RE ENGINE」の設計思想からタイトルでの技術活用まで 〜カプコンオープンカンファレンス RE:2019(1)
TEXT&PHOTO_室井美優 / Miyu Muroi(Playce)
EDIT_小村仁美 / Hitomi Komura(CGWORLD)、山田桃子 / Momoko Yamada
『BIOHAZARD RE:2』
対応ハード:PlayStation4、Xbox One、PC
CEROレーティング:DもしくはZ
www.capcom.co.jp/biohazard2/
©CAPCOM CO., LTD. ALL RIGHTS RESERVED.
アニメーター泣かせの"組み技"を効率化したリターゲット技術
「『バイオハザード RE:2』における組み技リターゲット技術」という講演タイトルでアニメーション技術解説セッションに登場したのは、技術研究開発部の内山創一氏と、第一開発部の牧山拓斗氏の両名だ。本セッションでは、"組み技"というゲーム内演出に関する効率的な技術の活用について、『バイオハザード RE:2』(以下、BH RE:2)での実装例を交えて紹介した。
右から内山創一氏(技術研究開発部)、牧山拓斗氏(第一開発部)
■組み技リターゲットとは?
初めに、牧山氏から"組み技リターゲット"とその実装方法について解説が行われた。本セッションにおける"組み技"とは、ゾンビがプレイヤーに噛みついてくる動作など、複数のキャラクターが相互に干渉する演出のことだ。ホラー演出の効果が高いため、『BH RE:2』では多用されている演出だという。しかしこの組み技だが、アニメーションをつくる際、クリーチャー側だけでなく、攻撃を受ける側であるプレイアブルキャラクターの骨格も考慮しなくてはならないのだ。
プレイアブルキャラクターであるレオンとクレアでアニメーションを使い回した場合。掴む位置、噛みつく位置が大幅にズレてしまう
「相手ごとに組み技アニメーションを作成しようとすると、クリーチャーの数、組み技パターン、プレイアブルキャラクターの数で計算すると135パターンのアニメーションが必要となります。かつ、1つのアニメーションを作成するには約5営業日かかるので、単純計算で675営業日が必要です。まさにアニメーター泣かせですね(牧山氏)。
その工数を削減するために生み出されたのが「組み技リターゲット」だ。リターゲットとは、例えば、対レオンで作成したアニメーションを対クレアで再生した際、相手の体格に応じて位置補正をプロシージャルに反映する機能のことを指す。
■組み技リターゲット、実装までの補正処理
組み技リターゲットを実装するために必要な処置は大まかに説明すると、リターゲット位置と、位置合わせのための手法の洗い出し、専用ジョイントを用いて組み技リターゲット用のアニメーションを作成、IKターゲット座標を指定し適用する、というながれになっている。
①洗い出し:ゾンビの噛みつきについては5ヶ所の位置合わせが必要。噛みつき動作だけ特殊だが、本例の場合はほとんど腕なので、2BoneIKを使用しての対応となる
②アニメーションの作成:組み技リターゲットには1ヶ所につき2つの専用ジョイントを設定する必要がある。ジョイントAにはレオンの右肩ジョイント、Bにはゾンビの左手ジョイントとまったく同じ動きをつけ、作成したAとBのアニメーションを、噛みつきアニメーションに組み込む
③適用:用意したアニメーションからIKターゲット座標を算出し、その座標に向かって腕のIKを適用することで位置合わせが完了する
噛みつき動作は特殊。顔のジョイントは腰のジョイントの枝先にあるため、腰の平行移動で対応する。腕と同様にIKターゲット座標を算出。ゾンビの顔ジョイントとの差分を求め、その分だけ腰を移動する。また、めり込み防止のために脚のIKも有効にする
■補正処理の適用順がキモ
組み技リターゲット用の補正処理を一式揃えた後は、適用順が一番重要だと牧山氏は語る。
噛みつき動作を最後に適用すると、腰の子階層にあるジョイントが動いてしまい、補正した腕の位置もズレてしまう。スライドの右下では、クレアの右腕にゾンビの左腕がめり込んでいる。根本に近いジョイントから順に補正を適用するのが正解だ
「腕で腕を掴むようなアニメーションの場合、合わせ位置が先に確定する腕を優先的に補正するか、それが無理なら再帰的にIKを適用する必要があります。この見極めは洗い出しの段階で十分に検討する必要があります」(牧山氏)。
正しい順序で適用された、組み技リターゲット完成図
この技術によって、プレイアブルキャラクターごとにアニメーションをつくり替える必要がなくなったため、問題視されていた675日という工数を3分の1以下に抑えることができたという。クオリティを保持しながらも工数の削減にもつながった組み技リターゲットは、『BH RE:2』では大いに活躍したのだそうだ。
■組み技リターゲットで必要な追加作業
続いて内山氏より、組み技リターゲット用のアセット作成や「RE ENGINE」のシステムについて解説が行われた。組み技リターゲットでは、アセット作成に以下の追加作業が必要だ。
①掴む相手のジョイント情報をコピー(ゾンビであればプレイヤーの情報をコピー)
②リターゲットを有効にするタイミングを決める適用率のプロパティアニメーション
③掴みかかる場所の遷移情報のプロパティアニメーション(頭から肩へなど)
(本セッションでのプロパティアニメーションとは、Mayaのノードのアトリビュートアニメーションを指す)
上記作業は全て、TAが作成した専用ツールを使用して簡単な操作で行うことができるという。掴む、離すといった組み技の基本的な構造は変わらないので、プリセットも用意されているそうだ。
プロパティにリターゲットの適用率を設定。適用率はIKとFKのブレンド率で考える
遷移情報を設定。書き込んだ順に番号が振られていき、それに従って遷移情報となるアニメーションカーブだけを操作
ジョイント紐づけ、組み技適用率や遷移情報のプロパティアニメーションなどは全てこの専用ツールで作成可能だ
■作成した追加データをゲームデータに変換するには?
そして、アニメーターがつくったこれらのデータを、ゲームデータに変換していくことになる。
まずはジョイントの追加だ。ジョイントを追加するのであれば、メッシュにも追加ジョイントを組み込む必要があるのだが、「RE ENGINE」のデータ設計はその手間を省いてくれる。「RE ENGINE」では、モーション最適化のために必要なアニメーションのみを判別して再生する独自の骨構造を、モーションコンポーネントと呼ばれるコンポーネント内で作成しているのだという。
マスターとなる骨構造を管理しているトランスフォームコンポーネントにメッシュから骨構造が登録され、モーションアセット内にある骨構造と比較。必要なジョイントだけを集めた骨構造をモーションコンポーネントが独自構築するしくみだ。そのため、メッシュの中にないジョイントでも、モーションコンポーネント内に追加することで、簡単にスケルトン情報をマージして再生することができるのだ。牧山氏が実装例で紹介した、専用ジョイントもこの方法で追加可能だ。
メッシュにない構造でも、モーションの骨構造としてコピーしてきたジョイントのモーションを再生することができる
それでは、適用率や遷移情報のプロパティアニメーションではどうなのか。一次元のプロパティアニメーションを三次元のジョイントアニメーションと同じシステムで動かすのはエンジンの計算を最適化する上で都合が悪く、タイトルごと実装による様々な仕様変更にも対応できない。そこで、「RE ENGINE」でタイトルごとにスクリプトの実装で型を定義できるシーケンスデータにプロパティアニメーションを自動変換することにしたのだという。アニメーターが手動でエンジン上のアセットとしてシーケンスデータを新たに手入力する必要はないので、アニメーターの作業がDCCツール上で完結するということだ。
RE ENGINEデータ設計。アニメーターがモーション作成後、それに紐づくシーケンスデータを各セクションの担当者が作成し、プログラマーが制御。組み技リターゲット情報は、モーションシーケンス内に移動した
「メッシュに影響を与えることなくジョイントのアニメーションを追加できたり、プロパティアニメーションをシーケンスデータに自動変換させたりと、RE ENGINEの様々な機能によってアニメーターの作業の独立性を向上させることができました」(内山氏)。
解説を終えた内山氏は、組み技リターゲットという技術によってアニメーターの作業負担を減らすことができたものの、まだ課題は残っていると語った。ひとつめは、モーションが共通化しているため、女性キャラクターが男性キャラクターのような動きをしてしまうこと。もうひとつは、組み技リターゲットのときだけに発生する専用フローそのものが、アニメーターの心理的負担となっているということだ。その課題を解決すべく、タイトル開発者、TA、エンジン開発者が密に連携し、さらなる技術の向上や、ワークフローの自動化を目指したいと、今後の展望を語りセッションの幕を閉じた。
-
-
「カプコンオープンカンファレンス RE:2019」
●東京会場
日時:2019年9月19日(木)13:10~19:20
場所:CIRQ新宿8Fホール
●大阪会場
日時:2019年9月24日(火)13:10~19:20
場所:ブリーゼプラザ・小ホール
www.capcom.co.jp/RE2019/