国内最大規模のゲーム業界カンファレンス「CEDEC2022」が、2022年8月23日(火)から8月25日(木)までの日程で開催されました。最終日となる8月25日には、ゼニマックス・アジア株式会社(Tango Gameworks)プログラマー 駒田 喬氏が登壇し、「Ghostwire: Tokyoの表現を支えるプロシージャルアニメーション」と題した講演が行いました。Ghostwire: Tokyoのために開発した、4つのプロシージャルアニメーション手法について解説された本講演をレポートします。
TEXT / 神谷 優斗
EDIT / 神山 大輝
目次
本作のために開発された技術
『Ghostwire: Tokyo(以下、本作)』は、2022年3月に発売された箱庭型の超常アクション・アドベンチャーで、フォトリアルなグラフィックスが特徴な作品です。
本講演では「補助骨システム」「チェイン状の揺れ物」「2足歩行IK」「4足歩行IK」の4種類の技術トピックが取り上げられており、既存技術を作品の表現に活かした手法が解説されています。
開発に使用されたDCCツールはMaya 2018とUnreal Engine 4(以下、UE4)ですが、講演の内容は特定のツールによらず転用が可能な知見となっています。
手の表現をリッチにするための補助骨(HelperJoint)システム
最初に紹介されたのが、HelperJointと呼ばれる補助骨システムです。補助骨システムはメッシュの細かい変形を制御するための副次的な骨を制御する仕組みで、手首骨の回転による腕のねじれ補正や、膝のつぶれ防止などによく使用されています。
HelperJointと呼ばれる制御機能は、「特定の骨のポーズを入力とし、別の対象を制御する機能」として設計されました。
一般的に、一人称視点でのゲームにおいて手の表現は重要視されるケースが多いですが、本作には印を結ぶアクションが存在することから極めてリアルな手の表現が求められていました。
本作では、HelperJointを用いてブレンドシェイプなどを骨の動きと連動させることで、ボーンアニメーションだけでは作りづらい細部のリッチな表現を実現しています。
HelperJointはDCCツールとゲームエンジンで同じ挙動になるように実装されており、アーティストのみでワークフローが完結するような工夫が施されています。DCCツール内にHelperJoint専用ツールを作成し、アーティストが事前に用意した補助骨やブレンドシェイプ、マテリアルをもとに、HeplerJointで入力となる骨の設定や出力先の設定を行います。
HelperJointツールでは、入力に使用するパラメーターに3つの選択肢があります。その中で最も多用されるオイラー角による制御には、ジンバルロックによるフリップが発生する問題が存在しますが、回転軸を分解する順番を指定可能にすることでこれを解決しました。
※ジンバルロック:回転軸が重なってしまうことで、回転の自由度が下がってしまうこと
HelperJointの挙動はMaya内でカスタムノードとして実装されます。HelperJointの数の分だけHelperJointノードが作成され、ツール上の設定が反映される形となっています。
UE4側では、AnimBlueprintのカスタムノードとしてHelperJointが実装されており、Mayaからインポートした設定データが反映されます。また、補助骨システムの参考にした他社事例として、スクウェア・エニックスの「KineDriver」が挙げられていました。
次世代を見据えた新しい補助骨システムの開発 - CEDEC2019数多くのキャラクターに利用されるチェイン状の揺れもの
2つ目は揺れものの実装です。骨物理などと呼ばれる鎖状に繋がった複数の骨を揺らすための仕組みは業界でも広く普及しています。
本作では、一般的な揺れものに対応する「JointChainPhysics」と、特殊ケースに使用する「JointChainDelayed」の2種類のシステムを開発しました。
JointChainPhysicsは、主人公の衣装や猫のしっぽ、浮遊する敵の脚など、本作に登場するほとんどのキャラクターに適用されています。自然な揺れによってキャラクターに硬さや安っぽさを感じさせず、アニメーション全体のクオリティを底上げさせています。
JointChainPhysicsは、Stiffness(剛性)とDamping(減衰)を考慮したばね物理をベルレ積分(位置ベース)で実装しています。実装自体は「Kawaii Physics」と類似している部分も多いとのこと。
揺れものの設定に関しては、基本的にキャラクターアーティストだけが担当します。スケルトンに揺れもの用の骨を追加し、UE4上でもAnimBlueprintに専用ノードを追加すれば準備完了。挙動はエディタで確認しながら調整可能になりますので、エンジン上でプレビューしながら作り込みが行える仕組みとなっています。
一方、ばね物理のようなオーバーシュート(通り過ぎ)が不要で、チェインの先端が根元に対して遅れる動きのみを表現したいケースでは、JointChainPhysicsではなく、Delayパラメータによる遅延揺れ機能「JointChainDelayed」を使用します。
JointChainDelayedはワンパラメータのため調整が簡単で、高速・高周波な移動といった調整の難しいケースでも扱いやすいのが特長です。
人型の対象に適用する2足歩行IK
続いては2足歩行IKについて紹介されました。2足歩行IKに関しては数多くの事例が公開されており、その中でもカプコンが過去に行った講演を特に参考にしたとのこと。
キャラクターのポーズやアニメーションは傾きのない足場を前提に作成されているため、段差や傾きのある足場では足が宙に浮いたりめり込んだりして不自然になってしまいます。2足歩行IKは、2足歩行キャラクターの足の挙動を、地面に対して自然になるよう補正する機能です。
揺れものと同様、2足歩行IKはAnimBlueprintのカスタムノードとして実装しています。キャラクターへの組み込みと使用場面の限定は各キャラクターの担当プログラマーと協力して行い、パラメータ調整に関してはIKアルゴリズムに対する深い理解を伴うために原則として駒田氏が担当し、仕上げにモーションアーティストが携わるという形になったそうです。
IKのアルゴリズムには「TwoBoneIK」を採用。
箱庭マップで多数のキャラクターをスポーンさせる都合上、軽量でなければならない点、アルゴリズムがシンプルで問題が発生した際に調査が容易であることが採用の理由として挙げられました。
犬や猫のための4足歩行IK
最後に4足歩行IKが紹介されました。本作において4足歩行IKは犬と猫に対して適用されています。
4足歩行IKも2足歩行IKと同じく、4足歩行キャラクターの足が地面に対して自然な位置になるよう補正する機能です。こちらは、犬や猫のお尻やしっぽが地面に沿うように補正する役割も担っています。
基本的な実装は2足歩行IKと同じですが、地面の傾きと高さをもとに骨盤骨を補正し、全身を地面に沿って傾けることで、自然な4足歩行を実現しています。
また、4足歩行IKは2足歩行IKと同じワークフローで適用されています。
4足歩行IKのアルゴリズムには、3本の骨の制御をする都合上TwoBoneIK以外の選択肢が必要でした。そこで、2足歩行IKと同様の理由から、シンプルで軽量な「FABRIK」を採用しました。
犬や猫は足運びのピッチが早く、ジッタリングの粗がみえにくいという特性から、簡易な実装ではあるものの非常によい結果が得られたとしています。一方で、大きくてゆったりとした(かつ、スクリーン占める面積の多い)モーションのキャラクターに適用する場合、要求されるクオリティは高くなるのではとも分析されていました。
既存の技術を自らの開発環境にうまくチューニングさせたTango Gameworks。駒田氏は最後に、各機能にフィードバックを行った関係者やセッション準備の協力者、そして4足歩行IKの実験台になった「うちの猫」に謝辞を述べ、講演を締めくくりました。
Ghostwire: Tokyo 公式サイトGhostwire: Tokyoの表現を支えるプロシージャルアニメーション - CEDEC2022コーヒーがゲームデザインと同じくらい好きです
関連記事
注目記事ランキング
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
連載・特集ピックアップ
西川善司が語る“ゲームの仕組み”の記事をまとめました。
Blenderを初めて使う人に向けたチュートリアル記事。モデル制作からUE5へのインポートまで幅広く解説。
アークライトの野澤 邦仁(のざわ くにひと)氏が、ボードゲームの企画から制作・出展方法まで解説。
ゲーム制作の定番ツールやイベント情報をまとめました。
東京ゲームショウ2024で展示された作品のプレイレポートやインタビューをまとめました。
CEDEC2024で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブル2024で行われた講演のアーカイブ動画・スライドをまとめました。
CEDEC2023で行われた講演レポートをまとめました。
東京ゲームショウ2023で展示された作品のプレイレポートやインタビューをまとめました。
UNREAL FEST 2023で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブルで行われた講演のアーカイブ動画・スライドをまとめました。
UNREAL FEST 2022で行われた講演レポートやインタビューをまとめました。
CEDEC2022で行われた講演レポートをまとめました。
今日の用語
ローパスフィルター(Low-Pass Filter)
- 電気信号のうち、指定した周波数(カットオフ周波数)以下の信号を通し、それより上を大きく低減させるフィルター。
- ゲーム開発において、基本的にはサウンド用語として用いられる。例として、特定のセリフをローパスフィルターによってくぐもった音に加工することで、隣の部屋や遮蔽物の後ろで話しているかのような表現を行うことができる。