開発者を対象とし、ゲーム技術・知識の共有を目指す国内最大級のカンファレンス「CEDEC2024」が開催された。数多くのセッションが行われた中、本稿では株式会社カプコンによるセッション「『ストリートファイター6』の世界に生命を!~物理シミュレーションを活かしたアニメ物理~」を紹介する。

記事の目次

    関連記事

    ・多重リグシステムで実現した『鉄拳8』の「膨大なプレイアブルキャラクター✕豊富なカスタマイズ」~CEDEC2024(1)
    ・『学園アイドルマスター』はアイドルの新たな魅力をいかに引き出したか? キャラクターモデリングや背景づくりなどその手法をあますことなく解説! ~CEDEC2024(2)

    内製のRE ENGINEとHavokを組み合わせたClothシミュレーション

    昨年リリースされて以来、世界的に大きな盛り上がりをみせている対戦格闘ゲーム『ストリートファイター6』。鮮烈なビジュアル表現が闘いをよりドラマチックに演出する。

    ▲『ストリートファイター6』World Tourゲームプレイ&アバターバトルトレーラー

    CEDEC 2024の講演「『ストリートファイター6』の世界に生命を!~物理シミュレーションを活かしたアニメ物理~」では、カプコンのCS第二開発統括 開発三部 VFX室から當銘龍司氏、開発四部 ゲームグラフィック室からタイ ガイヒョウ氏が登壇。物理シミュレーションの面から、いかに『ストリートファイター6』の生きたキャラクターと世界がつくられたかが解説された。

    『ストリートファイター6』のアニメーション開発の指針は、対戦格闘ゲームにおけるクオリティを保つことはもちろん、プレイヤーが動かして楽しく、かつ観戦して楽しいことが追求された。そのため現実的な動きを大切にしつつも「漫画のように技を格好良く見せる」ことが目指されている。開発ではその見せ方を、「アニメ物理」と呼んでいる。

    そのような表現を目指すため、本作の開発では「物理クロスセクション」が設けられた。これは背景物を破壊する物理シミュレーションや、キャラクターの衣服などのリアルタイムClothシミュレーションを専門に手がけるセクション(部門)だ。

    『ストリートファイター6』では、キャラクターの衣装の揺れが、闘いをよりリアルに見せるために重要な要素となっている。

    Clothシミュレーションの開発は以下のように進められる。まず、初期デザインの段階でデザイン班と物理クロスセクションの間で揺れものについて相談を行う。その後、3Dモデル制作班とも連携し、揺れものの仕様をすり合わせる。こうした他セクションとの密な相談を経て、物理シミュレーションの調整が行われ、最終的に実装される。このプロセスは、3Dモデル制作班と適宜やり取りしながら進行する。

    本作のリアルタイムClothシミュレーションは、HavokのClothと、カプコンの内製エンジンであるRE ENGINEのChain機能の組み合わせで実装されている。

    Havok Clothはシミュレーションの精度が高く、詳細な設定が可能なため、複雑な動きも再現可能なことが魅力だ。また、揺れもののめり込みといった見た目の破綻を少なくできる点も大きい。

    一方、RE ENGINEのChainは、揺れもののセットアップや調整をエンジン内で完結できる点が特長だ。直感的な操作で、トライ&エラーが容易に行えるため、シミュレーションの調整も簡単に進められる。開発のしやすさを追求している点は、自社製エンジンならではの利点といえるだろう。

    ▲RE ENGINEのChainセットアップエディタの様子。直感的な制作を可能にしている

    さらに、『ストリートファイター6』では、衣装の材質ごとの揺れの変化にも徹底してこだわっている。多くのキャラクターとそれぞれに異なるコスチュームが登場するが、その材質や形状に応じて、揺れ方が異なるように表現されている。この細やかな表現が、リアリティを高め、キャラクターごとの個性を引き立てているのだ。

    キャラクターが必殺技を繰り出す際に巻き起こる「演出風」も細かく作り込まれている。開発チームではこの風を「演出風」と呼び、RE ENGINEのChainエディタ上で簡単に調整できるようになっている。

    演出風は各モーションごとに風の強さや方向を設定し、さらにシェーダの有無なども細かく調整されている。また、キャラクターごとの衣装に合わせた数値設定も可能で、必殺技の迫力をより引き立てる役割を果たしている。

    演出風はIDごとに管理されており、風の方向や強さ(最大値・最小値)、サイクル、インターバル、ランダム値などを細かく設定できるしくみになっている。フレームごとに「WindKey」を設定し、このIDを呼び出すことで演出風が発生する。

    この演出風は、キャラクターのアピールや対戦終了後のリザルト演出にも活用されており、インパクトのある必殺技だけでなく、通常のパンチやキックにも使われている。また、ステージに合わせた環境風も用意されており、ステージごとの風の強さに応じて調整できるため、戦闘シーン全体に一層の臨場感を与えている。

    ▲RE ENGINE上での演出風の編集画面

    キャラクターの動きの見え方を確実にするため、揺れものの表現にはベイクモーションも活用している。

    物理的なClothシミュレーションでは、演出風だけでは見映えの良い動きが表現できない場合がある。例えば、スカーフを巻いたキャラクターが攻撃を行う際、衣装が意図した通りに後ろへ美しく舞う動きにならない、といったケースだ。

    そのため、専用の揺れものをベイクしてDCCツールで調整。揺れものに関連するジョイントをモーションとして書き出し、RE ENGINEに実装することで、開発チームが意図した動きを表現できるようにしている。

    『ストリートファイター6』では、鍛え上げられたキャラクターの身体も印象的だ。肩部や胸部、太もも、ふくらはぎなどの筋肉がアクションに連動して揺れ、キャラクターの力強さや動きのリアリティを強調している。

    筋肉の揺れは、RE ENGINEのChainエディタを活用し、揺らしたい部位にJiggleを仕込むことで実現されている。性別やキャラクターごとの筋肉量に応じて、揺れの表現も異なるため、各キャラクターの特徴に合わせた筋肉揺れを目指して調整された。これにより、キャラクターごとの個性をさらに引き立てるリアリティのある動きが可能になっている。

    闘いの迫力を増す背景物のリアクション作成

    こうした物理シミュレーションは背景にも活用され、より迫力あるバトルシーンを演出している。

    『ストリートファイター6』では、様々な国を舞台にしたステージが用意されており、それぞれの場所の文化や生活感を感じられる細やかな作り込みが特徴となっている。さらに、アクションによって背景のオブジェクトが破壊されたり動いたりする演出を加えることで、闘いの影響がリアルに感じられるように工夫されている。

    各ステージに配置される物理シミュレーションで演出される背景オブジェクトは、そのステージが表現したいテーマに合わせて開発されている。

    背景の物理シミュレーションのワークフローは以下の通りである。まず、仕様の確認を行い、次にシミュレーションの下準備を始める。その後、実際のシミュレーションを実施し、RE ENGINEに実装。最後にブラッシュアップを行なって仕上げていく。

    ▲背景の各要素への仕様。キャラクターが攻撃でダウンしたりすると揺れるオブジェクトや、破壊されるオブジェクトの指示がある

    まず、背景のオブジェクトの種類のひとつであるRigidbodyについて解説された。重厚感のあるステージの中央に位置する印象的なオブジェクトを表現する場合、バトルの激しさを伝えるために、その硬さや重さといった特性を活かすことが重要だ。

    続いて、背景物として作り込まれたのは、キャラクターが吹っ飛んだ影響で破壊される割れもののオブジェクトである。このような背景破壊の演出は『ストリートファイター』シリーズではお馴染みの要素だが、『ストリートファイター6』では物理シミュレーションを活用することで、さらにリアルな仕上がりとなっている。

    例えば、米軍基地のステージに配置された木箱は、破壊される際に「バトルの風圧を受けて爆発する」という演出を通じて、闘いの激しさを強調することを目指している。

    本作では単純なオブジェクトの破壊にとどまらず、ぬいぐるみのような柔らかいオブジェクトもステージに登場する。これらのオブジェクトでは、可愛らしさを表現するために、柔らかさからくる変形のしやすさや弾力性を重視している。ステージのトーンに合わせて、オブジェクトの反応も巧みに作り込まれているというわけだ。

    また、背景物にはClothを使用したオブジェクトも含まれている。屋外のステージでは、風を演出するために布や旗のオブジェクトが活用されている。

    一方で、洞窟のような暗い空間に吊るされる種火のオブジェクトは揺れものとして表現されている。ここでもステージが表現したい環境を考慮し、風のある雰囲気などに合わせてオブジェクトの動きを巧みに作り込んでいる。

    こうした背景物は、プランナーの要望を反映しつつ、各ステージでのシミュレーションを経て実装される。シミュレーションの下準備として、各ステージでキャラクターが動ける範囲を示すバトルラインや、地形、コリジョンの設定を行なった後、背景物のテストに入る。

    ▲黄色のオブジェクトがシミュレーションするオブジェクト。グレーのものは全体の背景となるオブジェクト

    シミュレーションにはHoudiniを利用しており、背景物のオブジェクトはバトルの状況に応じて揺れたり、破壊されたりといった複数の反応をもつように設計されている。バトルが苛烈になるにつれて破壊の度合いが増すため、エンジニアは「何回オブジェクトが揺れた後に大きな破壊が起きるか」といったシミュレーションを行い、結果をベイクアニメーションとして実装する。その後、ブラッシュアップを行う。

    このように、『ストリートファイター6』の物理クロスセクションは、世界観に説得力をもたせるため、衣装の揺れや背景物のリアクション制作に取り組んできた。大切にしている点は「リアルな動きだけを追求することが正解ではない」という考え方で、物理挙動だけに終わらせず、少し強調した動きを加えることで、より良いビジュアルが得られるという。

    TEXT_葛西 祝 / Hajime Kasai
    EDIT_小村仁美 / Hitomi Komura(CGWORLD)、山田桃子 / Momoko Yamada