怪異蠢く街「九龍」をフォトリアルに描く『野狗子』カットシーン制作術。UEとMayaの連携を駆使したワークフロー【UNREAL FEST 2024 TOKYO】

2025.02.01
注目記事ゲームの舞台裏講演レポートアンリアルエンジン
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

エピック ゲームズ ジャパンが主催するアンリアルエンジン(以下、UE)公式の大型勉強会「UNREAL FEST 2024 TOKYO」が、2024年11月2日(土)に東京・ベルサール高田馬場にて開催されました。

ボーカゲームスタジオが行ったセッション「『野狗子: Slitterhead』の開発事例」では、同社が開発したバトルアクションアドベンチャーゲーム『野狗子:Slitterhead』の開発事例が紹介されました。

同セッションでは、カットシーン制作のワークフローとして「社内スタッフと外部会社の連携」「UEとMayaの相互運用など各種ツールの活用」といった事例ついて、ボーカゲームスタジオのテクニカルアーティスト Stephen Oberheim Jr.氏より語られました。

目次

登壇したのは、ボーカゲームスタジオのプログラマー 松下 達也氏と、同社のテクニカルアーティスト Stephen Oberheim Jr.氏。

セッション後半では、Stephen氏より本作におけるカットシーン制作のワークフローが解説。同氏はカットシーンTAとして本作に参加。演出やアセットの作成・管理業務、DCC・UEのパイプラインツールの開発・実装を担当した

カットシーン制作は外部会社と連携。データの受け渡しやスケジュール管理を支えた環境整備

本作の舞台である架空の街「九龍」を描き出すカットシーンは、モーションキャプチャーをベースとして、主にMotionBuilderMayaで制作されました。

社内のカットシーン制作担当者はStephen氏を含めて4名。社外スタッフも合わせると、最大20人前後で制作していたとのこと。

アセットの受け渡しが増えると予想されたことから、最適化やコスト削減のため、カットシーンはゲーム本編とは別のプロジェクトで作成し、映像素材としてゲームに入れ込む手法が取られました

外部会社とは週1回の定例会議で互いの進捗やスケジュールなどを逐一把握したほか、オンラインチャットや通話によるリアルタイムの連絡環境を整備することで、納品チェック・作業内容の相談などを円滑に進行できたと語られました。

連絡ツールにはGoogle ChatGoogle Meet、スケジュールやアセットの管理ではGoogleスプレッドシートを活用。作業データの受け渡しは、バージョン管理システム「Apache Subversion(SVN)」とGoogle Driveを使い分けています。

SVNのリポジトリは2種類に分け、作業者の所属(社内/外部スタッフ)に応じてリポジトリのアクセス権を制限しました。外部スタッフが扱うデータの範囲を明確化したことで、混乱や事故を防止できたといいます。一方、アセットやデータの管理や共有を徹底するために管理者を立てることが必要だったとStephen氏は述べました。

UEとMayaを往復するカットシーン用アセットの準備過程

使用アセットのマイグレート

カットシーンを作成する際、インゲームアートアセットをゲーム本編用プロジェクトからカットシーン用プロジェクトへマイグレート(移植作業)して使用します。

マイグレート時に双方のプロジェクト間でアセットのバージョンに差異が無いか定期チェックを行うため、マイグレートしたアセットをCSVに記録するシステムを独自に作成しました。

また、マイグレート対象のアセットを一覧できるウィンドウの表示も拡張。「アセットが最新版ではない」「ローカルでチェックアウトされている」「カットシーンに不要なアセットである」といった、マイグレードの際に不具合が懸念されるアセットを識別しやすくしています

なお、マイグレートは定期的に行われるので、アセットを編集する際はカットシーンアセット用のディレクトリにコピーして上書きを防ぎます。同名アセットの乱立による混同を避けるため、コピーデータは必ずリネームを行います。

アセット名の左側に警告アイコンが付与されるようにウィンドウの表示を拡張した

背景アセットをMayaへ出力

UEで配置された背景アセットデータをMayaで使用するにあたり、キャラクターを動かすエリア周辺の背景アクターをFBXとして出力。併せてテクスチャも出力しています。

背景アセットデータの出力作業は、Editor Utility Widgets、Python、mayabatch(※)を使用して自動化しています。
※ Mayaでの作業を自動化する機能

背景アセットデータをMayaに出力する際、出力するエリアの範囲をUE上で選択可能。必要であればmayabatchでも範囲を指定できます。

作業に際しては、Mayaで扱うシーンデータが非常に重くなったため、メッシュのリダクションやアセットの出力範囲を絞るなど改善措置が取られました。

カットシーンはパーシスタントレベルで作成

本作ではカットシーンごとにパーシスタントレベル(※)を用意しています。カットシーン作成に必要なサブレベルは、FBXファイル出力時に併せてCSVに記録。使用する際はCSVから再度取得します。
※ UEにおいて常にロードされるレベル。ロード・アンロード可能なレベル「サブレベル」を構成要素として所持できる

ブループリントのようにマイグレート対象外のアクタを有するサブレベルは、ブループリントアクタに含まれる背景オブジェクトのワールド座標とスタティックメッシュをCSVに記録し、カットシーン用のプロジェクトに再配置しています。

CSVでアセットをリストアップ

カットシーンごとに使用するアセットはCSVで管理されます。UEにおいては、キャラクターの読み込みやアクタ名の指定、ディレクトリの作成などでこのリストが活用されます。

CSVの記載内容をGoogleシートでも確認できるようにしている

Mayaでカットシーンを作成する際は、「シーン構築ツール」を用いてアセットをCSVから一括で読み込みます。

カットシーン制作における4つのフェーズ

カットシーン制作は大きく分けて、映像制作の前準備を行う「プリプロダクション」、Maya/UEでの作業、レンダリングやコンバートといった「最終調整」の順で進行します。講演では、MayaとUEの作業工程にフォーカスして解説されました。

カットシーン制作における全体の流れを説明した図

まずはスタッフ間での役割分担について紹介。Maya担当/UE担当でチームを分け、さらにUEでの作業工程を、前半(エフェクトの仮配置・ライトの方向性確認)/後半(最終調整)で分担しました。制作スケジュールの都合などを加味して、前半部分は外部会社が、後半部分は社内スタッフが担当しています。

担当範囲を分離することで、作業者の混乱を減らし、担当アーティストが作業に集中できるようにしています。

続いて、Stephen氏は、Maya・UEにおけるカットシーン制作フローを「レベルのレイアウト作成」「アニメーション実装」「揺れ物の設定」「エフェクト・ライティング・フェイシャル設定」の4フェーズに分けて解説しました。

フェーズ1:シーンのレイアウトを作成

まず、シーンごとにキャラクターの導線情報、配置位置が確認できる仕様書をもとに、Mayaでレイアウト用のアセットを作成します。

Mayaでのアセット作成が完了後、キャラクターの配置情報やアニメーションに加えて、カメラの動きのデータを出力します。

続いて、UE上でレイアウトのベースとなるレベルシーケンスの作成に移ります。基本的にレベルシーケンスはCSVの記録情報をもとに自動で生成されます。

各カットのレベルシーケンスは、映像全体を形作る「マスターシーケンス」内に配置されており、キャラクター、エフェクト、ライティングの振る舞いを示す「サブシーケンス」で構成されています。

自動生成に際して、まずマスターシーケンス内に各カットのレベルシーケンスを配置します。

後の工程で、エフェクトやライトがカットをまたいでいる場合はマスターシーケンスに置かれ、カット内に収まるものはサブシーケンスに割り振られる

その後、各カットのレベルシーケンスにおいてカメラの配置・FBXのインポートが行われます。

カットの尺は、サウンドやボイスの収録、エフェクトの作成など広範囲に影響するため、制作早期のレイアウト段階で尺を固定し極力変更しない方針がとられた

続いて、キャラクターの動きをサブシーケンス上で設定します。キャラクターのトランスフォームやアニメーション再生情報は、インポートしたカット情報から取得されます。

全てのカットのレベルシーケンスが完成すると、レベルシーケンスをマスターシーケンス内に配置。こうして、Mayaで制作したそれぞれのサブシーケンスがUE上でも確認できるようになります。

また、レイアウトにあたっては、パーシスタントレベルやマスターシーケンスを開くためのツールや、自動生成されたシーケンスを調整するツールEditor Utility Widgetsで作成、活用しています。

フェーズ2:モデルの差し替え・アニメーションシーケンス更新

続いて、3Dモデルの差し替えを行います。Maya上で仮モデルを正式版に差し替えた後、UE上のアニメーションシーケンスも更新します。

参照する3Dモデルが変わっている場合でも差し替えられる

フェーズ3:フェイシャルアニメーション・揺れ物の実装

フェイシャルアニメーションはiPhoneと「MocapX」(※)の録画機能で撮影し、ブレンドシェイプのみで作成しています。
※ スマートフォンのカメラを使ってリアルタイムでフェイシャルキャプチャを行うアプリケーション。Maya用プラグインが提供されている

キャラクターの衣装や触手などの揺れ物は、UEに搭載されているクロスシミュレーション機能「Chaos Cloth」で表現。めり込む・暴れすぎる場合などはMayaでジョイントを調整しています。

フェーズ4:UEでエフェクト・ライティングを作成

エフェクトは主にUEのVFX作成システム「Niagara」で作成しましたが、一部エフェクトはHoudiniも使用。各々の作業者が使いやすいツールを選択したとのこと。

ライティングについては、インゲームとカットシーンで異なるライティング機能を使用したことで見た目に差異が生じたため、カットシーンのライトをインゲームに寄せて調整しました。

また、ポストプロセスボリュームの調整や、キャラクターの顔に付着した血液や、虹彩、瞳孔などの色彩や形状といったキャラクターのマテリアルのパラメータをカット単位で調整しています。

本作のカットシーン作成においては小規模な制作チームならではの工夫が多く必要で、社内スタッフや外部会社の協力により完成に至ったとStephen氏は語ります。今回紹介した作成手法はリアルタイムレンダリングの手法と大きく変わらないため、UEでカットシーンを作る参考になれば幸いだと同氏は述べ、講演を締めくくりました。

『野狗子: Slitterhead』の開発事例|UNREAL FEST 2024 TOKYO『野狗子:Slitterhead』Bokeh Game Studio公式サイト

関連記事

老若男女のモブに憑依&操作する『野狗子』。数百通りに及ぶアクションの実装を効率化した「Game Ability System」を完全解説【UNREAL FEST 2024 TOKYO】
2025.01.31
Unreal Engine 5.5.2がリリース。新機能「MegaLights」の改善に加え、「PCG」に関する10点以上の不具合修正や、「Motion Design」使用時にクラッシュする問題が解消
2025.01.29
UE5.5の新しいキャラクターカスタマイズ機能「Mutable」の解説や、マテリアルに関する中級者向けTipsも。UE勉強会「Unreal Engine Meetup in Osaka Vol.03」講演資料が公開
2025.01.24
ランタイムでスタティックメッシュを結合し、ドローコールを削減。UE5での実装例をロジカルビートが技術ブログで紹介
2025.01.16
UE5で状態遷移を管理する機能「StateTree」の活用事例、おかず氏がブログで紹介。ブループリントから送信されるイベントに基づきドアの開閉状態を制御
2025.01.06
2024年アドベントカレンダーから、ゲームメーカーズ編集部が注目した14記事を一挙紹介!
2024.12.26

注目記事ランキング

2025.01.26 - 2025.02.02
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ローカル座標
ローカルザヒョウ 各オブジェクトの原点を基点とした座標系における、特定の一点を示した座標。
VIEW MORE

Xで最新情報をチェック!