『DARK SOULS』シリーズや『Bloodborne』など近年数々のヒット作を生み出しているフロム・ソフトウェア。その最新作である『SEKIRO : SHADOWS DIE TWICE』。プレイヤーの力量が試される骨太なゲームデザインを全面に押し出した本作だが、架空の戦国時代というその独特かつ美麗なグラフィックも魅力のひとつだ。

本記事では、3/30(土)に開催された関西最大級のゲーム開発者向けイベント「ゲームクリエイターズカンファレンス'19」での講演「『SEKIRO : SHADOWS DIE TWICE』の開発を支えるグラフィックス環境とアーティストの取り組み」の模様をレポートする。同社3Dグラフィックセクションの藤巻 亮氏、前田耕蔵氏の2人によって、これまで語られることの少なかったフロム・ソフトウェア流の背景制作が余すことなく語られた。

TEXT&PHOTO_椎葉
EDIT_小村仁美(CGWORLD)

●関連記事
『CoD:WWII』のライティングアーティストが語る、ゲーム開発におけるライティングスペシャリストの必要性〜GCC '19レポート(2)

SEKIRO: SHADOWS DIE TWICE 発売ロンチトレーラー【2019.3】

<1>フロム・ソフトウェアの開発環境

まず、藤巻氏からはフロム・ソフトウェアにおける基本的な開発環境について説明が行われた。

藤巻 亮氏(株式会社フロム・ソフトウェア3Dグラフィックセクション サブリーダー)

全てのスタッフは下図のように3枚のモニタを1セットとして与えられており、それぞれのモニタに「ツール」「エディタ」「ゲーム画面」を映して作業を行なっている。

開発環境の概要

また、「ツール」の画面には主にアセットブラウザなどが表示され、「エディタ」の画面には3ds MaxやSubstance Painter、「ゲーム画面」はPS4やXboxなど各プラットフォームでの実際の画面を映すようになっており様々な連携をリアルタイムに行えるようになっているとのことだ。

リアルタイムに連携を取る各画面

「エディタ」と「ゲーム画面」の連携に関しては、例えばメインのDCCツールには3ds Maxを使用しているが、頂点編集を行なった際にはゲーム用フォーマットにボタン1つでコンバートできるようにパイプラインが整備されており、動画で紹介された例ではおよそ10秒で「ゲーム画面」に反映され、ほぼリアルタイムと言って差し支えない編集・確認が可能になっていた。また、この3ds Maxとのパイプラインツールは10年前の導入以来少しずつ改良を積み重ねており、LODモデルの作成やエラーチェックなども自動で行われるようになっている。

3ds Maxによる頂点編集を実機画面で確認する様子

さらに、このパイプラインは3ds Maxだけではなく、Substance Painterもサポートしている。Substance PainterはPBRテクスチャの制作における利便性からフロム・ソフトウェアではメインツールとして採用されており、テクスチャペイント後はボタン1つで出力コンフィグを自動選択、ゲーム用フォーマットへの変換・結合まで自動処理されるとのことだ。また、全てを自動で行うことで設定ミスなども起きづらくなっており、作業者ごとにデータフォーマットが異なるということがなく、データの保守性を高めることにも貢献している。

Substance Painterによるテクスチャ修正を実機画面で確認する様子

その他には、社内製のシェーダエディタ、マテリアルエディタなども紹介された。それぞれアーティスト向けに開発されたもので、シェーダエディタはノードベースによるシェーダ開発が可能、マテリアルエディタはそのシェーダを利用したインスタンスの調整をリアルタイムにゲーム画面を見ながら行うことができる。これらのツールが適切に整備されたことで、高速なシェーダ開発が可能になりマテリアル開発の効率化が行われたとのことだ。

アーティスト向けのシェーダエディタ

作成されたシェーダのインスタンスを調整可能なマテリアルエディタ

<2>『SEKIRO:SHADOWS DIE TWICE』におけるシェーダ開発

続いて、藤巻氏からシェーダ開発に関する事例が説明された。『SEKIRO:SHADOWS DIE TWICE』では、汎用シェーダを新規に開発し、大幅な変更を加えている。特に顕著なのは、旧シェーダではBase Color、Normal Map、Smoothness、Metallicと各要素ユニークに1枚ずつ使用していたが、新シェーダではそれぞれの要素はタイリングテクスチャとマスクで表現される、いわゆるレイヤードシェーダと言われる構成に切り替えた点だ。

旧汎用シェーダの構成(左)、新汎用シェーダの構成(右)

これにより、旧シェーダでは解像度に品質が依存していたが、新シェーダではその点をクリアし、さらに質感自体を使い回すことで誰が作っても同じ品質となり、クオリティラインを底上げし、高品質かつ高スピード、かつメモリ節約にまで繋げることができたとのことだ。

解像度に依存する旧シェーダとそれを克服した新シェーダ

品質の安定と制作スピードの向上を果たした新シェーダ

さらに、テクスチャ使用数を増やさずにマスクを多く使うために、様々な工夫が凝らされている。例えば、マスクは合計3種使用することが可能だが、そのうち1種は専用テクスチャをもつのではなくSmoothnessのマップから流用されるかたちになっている。

ブレンドマスクの概要

これは、「Smoothnessが低い=劣化している」と捉え、劣化した質感のブレンドにはSmoothnessのより黒い部分だけを使用するというまさに目からウロコのアイデアだ。このアイデアはテクスチャ枚数を削減するばかりではなく、アーティストからも劣化度合いという直感的な指標で調整が行え、操作しやすいと評判だったという。

Smoothnessと劣化度合いの関係性

また、残り2種のマスクに関してもテクスチャの使用を増やさないようにするため、NormalMapsのAチャンネルを0~128、129~255の2階調で区分けして使用している。これらは1チャンネルに2種まとまっているため2つの質感を重ねることはできないが、実害としては軽微だったためその制限下で運用し、アーティスト主導で表現と制限のバランスを調整したとのことだ。

ノーマルマップのAチャンネルによる2種のマスク

次ページ:
<3>背景レイアウトの効率化

[[SplitPage]]

<3>背景レイアウトの効率化

最後に、前田氏より背景レイアウトの効率化について語られた。背景レイアウトに関しては大きく分けて
・DCCツールでの手動配置
・ゲームエンジン上での手動配置
・自動配置による補助

という3点の取り組みがされたという。

前田耕蔵氏(株式会社フロム・ソフトウェア3Dグラフィックセクション サブリーダー)

フロム・ソフトウェアのレベルデザインには、非常に大きな高低差が存在、かつプレイヤーは複数のルートを選択可能という大きな特徴がある。つまり、状況や場所によって周囲の見え方やメモリの状況が大きく異なってくるというわけだ。

フロム・ソフトウェアにおけるレベルデザインの特徴

これらのレベルデザインを活かした背景制作は、単独のエリアを作成するだけでも非常に難易度が高いが、それらのレベルがさらに複雑につながりシームレスに行き来が可能なことで作成難度に拍車がかかっているという。

レベル同士が複雑に接続される様子

そこでフロム・ソフトウェアでは、まずDCCツール上での手動配置によって制作効率化を図った。専用のレイアウトエディタを開発するのではなく、アーティストと親和性の高い3ds Maxを利用することで、元々3ds Maxに存在する様々な機能をレイアウトに活かすことができる上に、スクリプトによる効率化や機能拡張も容易だ。また、強力な通信機能が実装されており、全ての編集内容はリアルタイムでゲームエンジンに反映され、3ds Maxの習得をするだけでアーティストはすぐにレイアウト作業を行うことができる。

3ds Maxをレイアウトエディタに利用する様子

また、3ds Maxによってベースのレイアウトが行われた後、ゲームエンジンでのイテレーションを加速するために、ゲームエンジン上での手動配置機能もサポートしている。これによって3ds Maxに慣れていないアーティスト以外の人もレイアウト作業を行うことが可能になり、宝箱の配置などゲームに関わる部分のトライ&エラーが効率化できたとのことだ。

ゲームエンジン上での配置機能の拡張

さらにこれまでの機能は主に手動配置が前提となっているが、手動で配置するほどではない重要性が低いものに関しては自動配置も行われている。自動配置は主に草や小石などで利用されており、3ds Max内でペイントされた頂点カラーに応じて配置が行われ、パラメータによって密度や角度などを調整することができる。これらは配置後のアセット差し替えなども可能になっており、ゲームのレベルデザインにおいて重要性の低いものの配置を自動化することによって、本来こだわるべき部分により大きな時間を割くことができるようになったという。

草や小石などの自動配置

自動配置システム上で塗り分けられている様子(左)、塗り分けによって自動配置される木々(右)

最後に、藤巻氏、前田氏の2人はこう締めくくった。「私たちは決して大きなチームではないが、それでもグラフィックスの量と質を安定して提供できるようにする必要があります。今回の講演が少しでも皆さまのお役に立てていたら幸いです」。本講演は2人の意図通り、AAAクラスの開発規模ではなくとも地道な効率化でクオリティを引き上げることができるという大きな道標となったのではないだろうか。

  • GAME CREATORS CONFERENCE '19
    日時:2019年3月30日(土)
    場所:大阪府立国際会議場(グランキューブ大阪)
    www.gc-conf.com