『PSYCHO-PASS サイコパス』シリーズといえば、2012年のTVアニメ放映以降、劇場版はもちろんのこと、各種メディアミックス作品のリリースが続く人気IPである。この5月にはシリーズ最新作となる『劇場版 PSYCHO-PASS サイコパス PROVIDENCE』が公開となった。本作の3DCGはアニメや実写、ゲームと幅広く手がけるGEMBAが担当。同社は『劇場版 PSYCHO-PASS サイコパス』(2015)での背景CG制作にはじまり、シリーズでは3度目の参加となる。同作のメイキングを、全2回に分けて紹介していく。

記事の目次

    ※本記事は月刊「CGWORLD + digital video」vol.301(2023年9月号)からの転載となります。

    3DCGによるメカのギミックや空戦シーンに注目!

    2年超の長期におよんだ『劇場版 PSYCHO-PASS サイコパス PROVIDENCE』の制作。Production I.Gから2020年8月に打診があり、翌月からは主要メカのデザインとモデリングがスタート。空戦シーンからカット制作がはじまり、並行してモデリングとレイアウトも行い、2022年12月に最終アップを迎えた。メインツールは3ds Maxで、エフェクトや海、雲海などにはHoudiniBlenderも使用している。

    『劇場版 PSYCHO-PASS サイコパス PROVIDENCE』
    監督:塩谷直義 / 構成:冲方 丁 /3DCGI:GEMBA/アニメーション制作:Production I.G/制作:サイコパス製作委員会/配給:東宝映像事業部
    psycho-pass.com/providence

    シリーズ第1作にも参加している3DCGディレクターの佐藤 敦氏は、「3DCGが悪目立ちすることなく、GEMBAならではの映像にできたと思います」と、その出来映えをふり返る。もうひとりの3DCGディレクター、篠崎 亨氏は、監督からGEMBAらしいプラスアルファを求められ、「このシリーズはただでさえすでにクオリティが高いのに、どうグレードアップしたらいいのか」と悩んだという。しかし苦労の甲斐あって求められた内容にふさわしい品質に仕上がったと話す。

    画像上段左から、CGプロデューサー 工樂英樹氏、CGラインプロデューサー 田村貴裕氏、3DCGディレクター 佐藤 敦氏、3DCGディレクター 篠崎 亨氏
    下段左から、CGテクニカルディレクター 水橋啓太氏、CGリギングリード 佐藤宏樹氏、プロダクションマネージャー 畑中恭兵氏(以上、株式会社GEMBA)

    メカ関連はもちろんのこと、レイアウトの約7割も仕上げたGEMBA。同社代表で本作のCGプロデューサーを務めた工樂英樹氏はこうふり返った。「劇場アニメの3DCGをメインで担当するのは初めてで、塩谷直義監督によるクオリティの高い作品への参加はGEMBAにとってのチャレンジでした。作品に深く関われたことに達成感を感じています」。

    <1>修正を重ね品質を高めていくモデリング&ルックデヴ

    過去作のアセットを含め、多数のモデルが登場する本作だが、ここでは新規制作した輸送船グローツラング号と、武装組織ピースブレイカーの高高度気球型中継器ラファエル、および輸送機ミカエルのモデルを紹介する。

    GEMBAは本作における画づくりの方向性として、グローツラング号とラファエルではフォトリアリスティックな表現を提案。また、寄りと引きをひとつのモデルで対応できるよう、テクスチャはプロシージャルをベースに作成された。

    モデルの制作フローは、提供されたラフなスケッチからモデリングをはじめ、ある程度のラフモデルができた時点でチェックに出し、フィードバックに沿った修正や加筆された設定画に基づいてディテールアップを重ねていくというもの。

    「フィードバックの量が多く、時間的な不安がありましたが、修正指示は明確でしたのでやっていけば終わるという確信もありました」と篠崎氏は語る。ラフモデルを見ながらメカデザイナーが修正を重ねてデザインをまとめていくこの方法は、作業するモデラーにとっては負荷のかかる部分もあるが、担当モデラーが着実に作業を進め、無事対応することができたという。

    グローツラング号のモデリング

    グローツラング号のモデリング工程のブレイクダウン。

    設定画。この段階ではまだ細かい部分が描かれていないため、3Dのラフモデルを検討しながらメカデザイナーが仕上げていくというフロー。描かれた2アングルと二面図、リファレンス写真を用いてモデリングが進められた
    パーツのバランスをチェックしてもらうためのローモデル。甲板に飛行機が離着陸できるスケール感でつくられている
    寄せられたフィードバックの一例。赤字の数は多いが指示自体は明確である
     完成したハイモデル。足かけで約3ヶ月かかったという

    実写寄りに仕上げたグローツラング号の汚し表現

    グローツラング号のテクスチャ制作とルックデヴ。

    • サビと液垂れのテクスチャをマージした汚しのテクスチャ
    • 寄りと引きのカットをひとつのモデルで対応するため、テクスチャは寄りに耐えられるよう、パーツ単位でプロシージャルをベースに制作された
    汚しのテクスチャを適用したグローツラング号。甲板が広いため、タイル状にテクスチャを分割して作成している
    ルックデヴのチェック動画。GEMBAからの提案によって、実写寄りの仕上がりになっている。制作期間はテクスチャとルック作業合わせて2ヶ月ほど
    使用カット例、本編冒頭の荒波に漂うシーン。荒れる海はHoudiniで制作された

    高高度気球型中継器ラファエルのモデリング

    高高度気球型中継器ラファエルのモデリング工程。

    設定画。正面図や上面図などが用意された
    チェック用のローモデル。手書きの設定と3D立体形状としての齟齬があったことから、ラフモデルの状態でチェック出しを行なった。その際、同時にパーツの大きさのバランスなども検証
    チェック用のローモデルのフィードバック。グローツラング号と同様のやり取りを重ねながらモデルを仕上げるフロー
    完成したハイモデル。設定画の雰囲気を残しつつ、3Dモデルとして成立するよう仕上げられた

    ラファエルの鏡面質感と映り込み表現

    ラファエルのルックデヴ作業。

    完成したルック。ラファエルは空に浮かぶ中継器だが、表面が鏡のように反射し、遠くから見えにくいステルス性をもつという設定。グローツラング号同様にフォトリアルなルックを提案した。なお、当初は汚れのあるルックを提案したが、ラファエルは新規開発した機器のため汚れは不要ということで現在のルックになった
    レンダーパスの一部。鏡面反射のため、物理ベースレンダリングのマテリアル設定であればディフューズは黒だが、ここではコンポジット時に調整しやすいよう、グレースケールのテクスチャを残している。各カットの制作では、周囲の環境によって映り込みが大きく変化するため、カットごとにディフューズと反射素材で調整された

    破壊されたラファエルのモデル

    ラファエルは本編終盤の空戦で、須郷徹平の操縦するドローンによって一部が破壊されるが、そのモデルは破壊前のモデルを加工して制作された。

    破壊されたモデルの設定画。このシーンのために壊れた部分だけ内部がモデリングされている
    ルックデヴまで終えたチェック用画像。壊れた内側まで丁寧につくり込まれており、監督から好評だったという。鏡面パーツに付着する煤汚れや破壊がフォトリアルに表現されており、作中でも印象的だった

    丁寧につくり込んだ弾痕のモデル

    空戦でラファエルが機銃掃射を受けた際に発生する弾痕は3Dモデルでつくられている。

    ひとつひとつモデリングされた弾痕。着弾した場所にランダムで配置されるように自動化している
    • 弾痕を使用したシーン
    • 左画像の赤枠部の拡大。ラファエルの鉄骨部分で弾痕が発生しているが、画として自然に馴染んでいることがわかる

    兵員輸送機ミカエルのモデリング

    兵員輸送機ミカエルのモデリングとルックデヴの様子。

    ミカエルの設定画
    パーツバランスを確認するためのローモデル。ミカエルの設定画は細かく描かれていたが、ハッチのギミックなど、一部3D化した際に成り立たない箇所があり、モデルでの確認が必要だった
    ローモデルへのフィードバック
    • パーツの可動部分の確認。ハッチや脚部など、可動部分が多く複雑なため、仮でアニメーションを付けながら、可動具合や干渉を確認しつつモデリングされた
    • ハイモデルのチェック
    ルックデヴ。ラファエルなどとは異なり、テクスチャは描き込まず、セル調のシェーディングに反射やアンビエントオクルージョンなどの素材を乗せるという従来の方法で仕上げられた

    <2>tyFlowをモブキャラのアニメーションに活用

    3ds MaxプラグインのtyFlowはパーティクルのエフェクト制作に使用されることが多いが、本作ではアクターアニメーション用機能のtyActorを使って群衆表現に使用された。あらかじめ設定されたモブキャラクターの色や形状、フェイスのバリエーションを組み合わせて多種多様なモブキャラクターを生成している。

    GEMBAはこのtyActorを利用した群集表現に手応えを感じており、今後も積極的に使っていきたいと言う。以下に、具体的な手法を解説していく。

    モブ向けマテリアル作成の効率化

    モブの色バリエーション数が想定以上に多く、手動でバリエーションのマテリアルを作成することが現実的ではなかったため、マルチサブ内のマテリアルをバリエーション用にコピーするツールを用意した。このツールはマルチサブ内のマテリアルを指定のIDに複製しつつ、ノード名もそれに合わせて変更することが可能だ。

    バリエーションの切り替え

    モブは基本的に1つのアセットに複数のバリエーションを含んでおり、アトリビュートで表示の切り替えをする。小物パーツのオンオフに加えて、MaterialIDモディファイヤによる色のバリエーションが設定されている。アトリビュートは外部からMAXscript関数でアクセス可能なため、UIを選択せずにスクリプトでバリエーション切替えが可能となっている。

    • 小物や服装の切り替えアトリビュート
    • 色のマテリアルIDの切り替え
    実際のモブのバリエーション

    tyFlowモブアセットの作成

    モブアセットの作成は、必要な形状と色のバリエーション分のフェイスIDを変えながらキャラモデルを複製するが、その数は出島のシーンでは約90種類、お祭りのシーンでは約150種類にのぼった。また、出島用のモブには小旗のありなしが切替えできるようになっている。

    tyFlowによる群集表現では、1アセット1マテリアルしか使えないため、モブとプロップのマテリアルを合体させてペンシルの適用で色替えを行なった。シーンが重くてキャッシュが出せないのでバリエーションごとにモデルをアタッチしてスキンウェイトを完全に移植したが、数が多かったためスクリプトで構築している。

    ただし、お祭り用のモブは詳細な指示書があったため、1体ずつ手動で配置した。アセット構築以降はショット班でbipedを活用しつつ、外部参照やキャッシュを使ってレンダリングしている。

    手動で配置されたお祭りモブ
    モブとプロップのマテリアルを合体させている

    tyFlow群衆シーンとモーション管理

    tyActorにより参照するモーションを時間ごとに区切り、それぞれをイベントに応じて個別に適用。particleはシーン内にあるポイントヘルパーから発生させ、ヘルパーを移動させることで位置を制御している。

    群衆キャラの参照元アセットのモーションはMotionMixerを使用し管理しているが、サーバー上の指定のフォルダのモーションファイルを上書きすることで自動更新されている。bipedは.bip、揺れ物とプロップは.xafを使用した。

    シーン内にあるモブアセットと参照しているモーションファイルの一例。フォルダにあるモーションファイルの動きがMixerを介して、そのままtyActorに登録されたオブジェクトの動きになる。必要に応じてMixerのモーションをベイクすることでシーン個別にモーション編集が可能だ。

    • お祭りのモブキャラクター
    • モーションファイルが格納されているフォルダ

    下記の画像はモブアセットのモーションファイルをMixerに読み込んだもの。上からbipedのボディモーション、揺れ物などのセカンダリー、旗などのプロップとなっている。後半2クリップは旗を持っていないバージョンのためプロップのクリップは少ない。これで1キャラクター分なので、実際はキャラクターの数だけトラックが増えることになる。

    このようなモーションの管理方法をとることで、複数人で段階的にベースモーション作業を進めることができた。

    モーションファイルをMixerに読み込んだもの

    tyFlow群衆シーン、およびレンダー用シーンデータ作成

    tyFlowのシミュレーション用のシーンとレンダー用のシーンは別個に作成された。これによりキャッシュの容量削減のためにカメラから見えない余分なparticleを削減できた。このときにemitter用のヘルパーを削除すると他で使用しているヘルパーから発生するparticleのキャラクターの種類が変わってしまうため、イベントを追加してparticle自体を消去するように変更している。

    その際、particleそのままだとレンダーエラーだらけになるので、tyCacheを使用してキャッシュを取得し、必要に応じてセル分けやモディファイア追加のためにtyMesherを使用している。

    消去したいparticleの発生用のヘルパーをDistanceTestで指定した平面オブジェクトの近くへ配置する
    Deleteイベントをオンにすると平面付近へ移動したヘルパーから発生していたparticleが消える

    tyFlowのparticleをそのままレンダーすると、コマ数が進むごとに前のコマの計算が追加されるためレンダリング時間が増大してしまう。同時にエラーも増え100F程度のレンダーも回し切ることができなかった。そのため全てのparticleをレンダリング用にキャッシュ書き出しをして対応しているが、キャッシュのサイズが大きすぎるとレンダーマシンのメモリ容量への負担が増大するためparticle数の削減が必要だった。

    群衆のキャッシュを全て取った場合、レンダリングのキャッシュの読み込み容量が64GBでも足りずに3ds Maxが落ちてしまった。参照ジオメトリ自体のポリゴン数の削減をもう少しシビアにやっていくことが今後の課題だ。シーンに作成されたtyCacheやtyMesherのオブジェクトにターボスムーズをかければキャッシュの容量は減ると思われるとのこと。

    お祭りシーン用のモブの一例。ボール部分の回転がシーン上でずっと続くのでループにはできない。そのためtyMesherに直接UVアニメーションを適用している

    完成ショット

    モブが配置されたお祭りのシーン。150種類以上のキャラクターを生成しており、演者と観客を合わせると2,000人を超えているという。

    『劇場版 PSYCHO-PASS サイコパス PROVIDENCE』 後篇~ギミック&空戦シーン、につづく。

    CGWORLD 2023年9月号 vol.301

    特集:『2023 夏のゲームグラフィックス』
    判型:A4ワイド
    総ページ数:112
    発売日:2023年8月10日
    価格:1,540 円(税込)

    詳細・ご購入はこちら

    TEXT_石井勇夫(ねぎデ)
    EDIT_海老原朱里 / Akari Ebihara(CGWORLD)、山田桃子 / Momoko Yamada