2026年7月22日(水)〜24日(金)、国内最大級のゲーム開発者向けカンファレンス「CEDEC 2026」が開催された。約200ものセッションが行われた同カンファレンスから、本稿では「ミアレシティがメガシンカ!? 『Pokémon LEGENDS Z-A』の描画技術」の内容を紹介する。
関連記事
・『ドンキーコング バナンザ』は、なぜ「もっと壊したくなる」のか? "破壊"を体験させるビジュアルづくりの舞台裏~CEDEC 2026(1)
都市空間のための効率的な描画設計
www.pokemon.co.jp/ex/legends_z-a/ja/
©2025 Pokémon. ©1995-2025 Nintendo/Creatures Inc. /GAME FREAK inc.
2025年にリリースされた『Pokémon LEGENDS Z-A(以下、Z-A)』は、数ある『ポケットモンスター』シリーズの中でも、特に挑戦的な作品だ。2013年発売の『ポケットモンスター X・Y』に登場した「ミアレシティ」という1つの街を舞台とし、ゲーム全体がその中で完結するという大胆なつくりになっている。
リアルタイム3Dで描画される大きな街を舞台としたゲームは数多い。しかし、『ポケットモンスター』シリーズがそうした方向へ舵を切ったことは、多くのゲームファンを驚かせた。
この挑戦を支えるため、ゲームフリークでは様々な描画技術やワークフローの工夫を行なってきた。本セッションでは、その中でも都市空間を支える描画技術について紹介された。
本セッションには、株式会社ゲームフリーク CGテクノロジーラボより、ディレクターの前澤圭一氏、基盤技術セクション技術展開チームリーダーのスパダフィーナ・アルフレド氏、ワークフローセクション セクションディレクターの赤木達也氏が登壇。「ミアレシティ」を支える描画技術について解説した。
『Z-A』は、前作『ポケットモンスター スカーレット・バイオレット(以下、SV)』の広大な自然環境とは打って変わって、1つの都市空間を緻密につくり込む必要があった。
都市空間特有の3Dモデルの特徴として、スパダフィーナ氏は2点を挙げた。街灯やベンチ、煙突など、座標違いで同一オブジェクトが多数配置されるインスタンスモデルが多いこと、そしてプレイヤーが道を歩いている際には、ビルなどに遮蔽されて見えない描画物が多く存在することだ。この2つの特徴から、Instanced Drawとカリングのしくみが特に重要になったという。
Instanced Drawは、複数の同一オブジェクトを1ドローコールで一括描画するしくみだ。『Z-A』では過去作以上に活用しているとスパダフィーナ氏は語った。同一グループのオブジェクトは一括描画の対象となり、アーティスト側でパラメータをコントロールできるようにしている。
カリングについては、フラスタムカリングとオクルージョンカリングの2種類を実装。フラスタムカリングはカメラの視野外にあるオブジェクトを、オクルージョンカリングはビルなどに遮蔽されて見えないオブジェクトをカリングするしくみだ。
オクルージョンカリングは、ユニークモデルとインスタンスモデルでしくみが異なる。ユニークモデルはCPU側でバウンディングスフィアを用いてカリングし、インスタンスモデルはグループ単位でCPU側のカリングを行なった後、大量インスタンスのカリングをGPU側で行ない、インダイレクトドローで描画するかどうかの判断をGPUへ委ねている。
オクルージョンカリングにはHierarchical Z Cullingを採用した。デプスプリパスでオクルーダ(ビルなど遮蔽しやすい大きなオブジェクト)の深度のみを描画し、そのMipmapをGPU側で生成してカリングを行う。
ユニークモデルにはハードウェアオクルージョンクエリを採用。『Z-A』では4分の1解像度のMipmapを使用することで、十分な効果と軽量なパフォーマンスのバランスを実現した。Switch 2では非同期コンピュートへの移行により、さらに軽量化できたという。
ポイントライトについてもカリングのしくみを導入している。距離フェードにより一定距離で処理を完全にスキップさせるほか、ステンシルマスクによってポイントライトが実際に計算すべき範囲を絞る手法も採用した。壁に隠れたポイントライトが多い『Z-A』では有効な手法だったとスパダフィーナ氏は述べた。
空・水・影で都市空間を描く描画技術
空の表現には天球モデルを採用し、スカイシェーダで昼夜や天候の変化に対応している。雲については、仮想的な平面とカメラの交差点を計算して雲のUVとして使用し、天候に合わせてテクスチャのアルファ閾値を変えることで雲量を調整。さらにRGBノイズを加えることで、より自然な表現を実現した。
大気散乱については、スタイライズ寄りの表現を採用しているため物理ベースにはしていないが、ミー散乱のみ物理ベースで実装した。レイリー散乱とミー散乱のうち、色が単色でアーティストがコントロールしやすいミー散乱を採用することで、夕焼け表現の改善とフォグへの影響という効果を得ている。
水面はフローマップによる流れの表現とスクリーンスペース屈折を採用。リアルタイム反射にはSSR(スクリーンスペースリフレクション)ではなく、レイマーチが不要なSSPR(スクリーンスペースプラナーリフレクション)を採用した。
SSPRはSSRより大幅に低コストで、プラナリフレクションよりも軽量だ。ただし、水面の高さが固定である必要があるという制約があり、高さの異なる川や池が存在するミアレシティでは条件を満たせなかった。そこで、水面の高さを3つのグループに分け、それぞれ異なるSSPRテクスチャを参照する実装で対応した。
影の表現については、通常のカスケードシャドウマップ(CSM)では距離が伸びるほど負荷が増大するため、CSMと事前ベイクによる影を組み合わせた。数十メートル先まではCSM、それ以降はベイクした影を使用することで、遠距離まで情報量のある影を実現している。
ベイク影は時間帯の変化に対応するため、4方向からベイクした結果を1枚のRGBAテクスチャに格納。ゲーム中は時間帯に合わせてRGBAをブレンドすることで、CSMと同様に動いているように見せている。
シリーズで課題となっていたリグ運用を刷新
最後は赤木氏がキャラクターリグについて解説した。まず、『ポケットモンスター』シリーズのリグ運用には複数の課題が存在していたという。
1つ目は、操作可能なポケモン数に加えてモーション数も膨大であること。2つ目は、ゲームの進化に伴って継続的な更新が発生すること。3つ目は、『SV』以前は人物リグとポケモンリグで異なるリグシステムを使用しており、スタッフの学習コストや運用コストが分散していたことだ。
これらの課題を解決するために開発したのが、統合リギングシステム「ポケリグ」。ポケリグは、「誰もがリグをつくることができる」「効率的なデータの再利用」「人物リグとポケモンリグの統合」の3つを柱としている。
リグモジュールとビルドシステムにより、機能ごとに分割したリグモジュールを設定するだけで、リグに詳しくないスタッフでもリグを構築できるしくみを実現した。
「リグ生成の中で処理を完成させるということで、リグ生成が終わった後に手作業での作業は基本的に行わない」(赤木氏)という原則により、手作業によるエラー防止と品質の安定化を図っている。
モーションリターゲットについては、骨構造が異なるポケモン間でも、リターゲット元とリターゲット先のリグからリマップ処理を経てコンバートシーンを作成し、大量のモーションを効率的にリターゲットできるしくみを構築した。ポケモンは2足歩行や4足歩行などカテゴリー分けが可能で、骨構造が異なっていてもモーションの再利用が可能だ。
『Z-A』での新たな取り組みとして、人物キャラクターへのポケリグ対応を実施した。キャラクターエディット(服の着替えや顔の変更)については、複数のパーツリグを1つのリグとして組み上げる多段階のリグビルドシステムを拡張して対応している。
人物へのモーションキャプチャ対応では、人物の骨構造は基本的に共通化が可能なため、コンバートシーンを作成せずHumanIKを利用してモーションを変換する方式を採用した。人物リグとポケモンリグで共通のワークフロー・データフローにこだわった理由について、「大量のデータを扱う上で共通のものにしておいた方が運用コストが低くなる」(赤木氏)と語った。
限られたメンバーで進めたSwitch 2対応
前澤氏は、『Z-A』のSwitch 2対応について、開発体制にまつわる興味深いエピソードも紹介した。というのも、開発当時はSwitch 2がまだ発売前で開示できる情報が限られており、Switch版の開発メンバー全員がSwitch 2の情報を知れる状況ではなかったからだという。
そのため、限られたメンバーだけでSwitch版の開発と並行してSwitch 2版を開発する必要があった。情報管理と作業環境は厳密に整備され、「施錠可能な会議室を専用の作業スペースとして確保し、常駐メンバー4名と必要に応じて追加で入るメンバーで作業を進めた」(前澤氏)という。
もちろん、こうした開発体制ならではの課題もあった。管理権限をもつメンバーの中にSwitch 2の情報を知らない人も含まれていたため、初期段階ではConfluenceなどの社内ツールを利用できないケースも発生した。
後に管理権限の整理によって解消されたものの、そこまでには数ヵ月を要したという。「今後こういう一部の人しか知らないという情報を扱うことを想定している会社は、あらかじめ管理者の整理を行なっておくとよい」と、前澤氏は語った。
こうした状況を踏まえ、開発効率化のため、Switch版の環境を基にSwitch 2版を自動生成するスクリプトも作成した。
Visual Studioのソリューションファイルの置換、Switch 2版ライブラリへの差し替え、システムで管理するテクスチャフォーマットの切り替えなどをスクリプト化。さらに、Switch 2版のデータが誤ってプッシュされないようGitの設定も行ない、Switch版をベースにSwitch 2版をデイリーで自動生成するCI環境を整備した。
テクスチャについては、マスターデータを高解像度で用意し、Switch版はダウンスケールしたものを、Switch 2版はそのままのサイズで出力する形で切り分けた。
品質向上面では、60fps対応、DLSS、SSAOを実装した。60fps対応については、「試してみたら結構動いた」(前澤氏)とのことで、60fps化で発生したバグを都度修正していくアプローチを採用。DLSSではフェンスの線など細部の描画精度向上が確認でき、SSAOもNintendo Switch 2の処理能力の余裕を生かしたクオリティ向上に貢献したという。
本セッションでは、都市空間を描くための描画技術に加え、シリーズ全体のリグ運用、さらに発売前のSwitch 2対応まで、『Pokémon LEGENDS Z-A』を支える技術的な取り組みが幅広く紹介された。ゲームフリークが新たなゲーム体験を実現するために積み重ねてきた技術開発と、その背景にある試行錯誤が窺えるセッションだった。
TEXT_葛西 祝 / Hajime Kasai
EDIT_小村仁美 / Hitomi komura(CGWORLD)、山田桃子 / Momoko Yamada