CRPG『Glasshouse』でのビジュアルエフェクトを使用した雰囲気のビルド方法

本日のゲストブログでは、ゲーム開発集団 FLAT28 の近日発売 CRPG『Glasshouse』の封建的パンク世界に飛び込み ます。gamescom で発表されたこの開発中のタイトルは、受賞歴のあるライター Giacomo Montagnoli 氏によって執筆され、忠実度の高いグラフィックスでナラティブに富んだ体験を提供することを約束します。FLAT28のリードテクニカルアーティストAndrea Marinelliが、ボリュメトリックライティング、ライトクッキー、クロスシミュレーションなどの機能を使用してGlasshouseの大気環境をビルドする方法をご覧ください
はじめに:デザイン目標の設定
FLAT28 のリードテクニカルアーティストで、ビデオゲーム業界で 12 年以上の経験を持つ Andrea Marinelli です。私は2013年にVRプロジェクトでキャリアをスタートさせました。その後、PCやコンソール開発に移行し、複数のプラットフォームやテクノロジーにわたって専門知識を広げました。
2022年にFLAT28に入社して以来、私はGlasshouseの開発チームの一員です。このナラティブ駆動型 CRPG は、『Disco Elysium』や『Pathologic 2』などのゲームからインスピレーションを得ています。私たちの目標は、これらの基盤をビルドしながら、このジャンルに独自のひねりを加えることです。
視覚的にも、すぐにそれとわかるような独自のスタイルを確立したいと考えました。当初からビジュアル品質の高さも目指していました。そこで、ビジュアルをさらに進化させ、印象的な外観を実現するために、Unity HDRPを選択しました。このワークフローは、その目標を達成するうえでキーな要素の 1 つでした。
このブログでは、静的およびダイナミック ライトだけでなく、クロス シミュレーションなどを活用して、何に注意し、どのツールを使用し、プレイヤーにナラティブの手がかりを与える方法を探っていきます。
シーンの重要な要素を特定し、輝かせる
ライティングはゲームのビジュアルを向上させるだけでなく、ストーリーテリングのキーとなるツールであると私は常々信じています。適切なライティングは、雰囲気や雰囲気を作り出し、特定のシーンで何が起こっているかについてプレイヤーに微妙なヒントを与えることもあります。
暖かみのあるランプの光、揺れるスポットライト、テレビの点滅など、シンプルなことが部屋のストーリーをプレイヤーに伝える要素となります。
Glasshouse では、すべての部屋がまとまりがあり、かつ個性的であるように感じられることが重要です。それぞれが独自のストーリーを語り、そこに住むキャラクターについて何かを明らかにすべきです。
同様の結果を得る方法は数多くあり、効率のよい方法もあれば、そうでない方法もあります。ここでは、リアルタイムライト、混合ライト、ベイク済みライトを組み合わせて、思い通りの外観を作りました。

リアルタイムライティング
上のシーンは、床に散らばった紙、割れたガラス、ひっくり返った椅子など、明らかに何らかの争いが起きている部屋を示しています。
メインのライトソースは、太陽のシミュレーションに使用されるスポットライトです。ディレクショナルライトではなくスポットライトを選択しました。これは、シーン全体には影響しないからです。これにより、ライティングする対象が大幅に制御可能になり、この種のユースケースでのパフォーマンスが大幅に向上します。これを使って、すぐに興味を引くポイントを作りました。プレイヤーの視線はウィンドウにすぐに集まり、ウィンドウがバリケードになっていることに気づきます。このライトは「Real-time」に設定されています。これは、プレイヤーが空間内を移動するときにダイナミックシャドウを投影したかったからです。また、リアルタイムのボリューメトリックと組み合わせることで、強力な映画効果も追加できます。
効果を高めるために、リアルタイムシャドウとライトクッキーを組み合わせました。クッキーはウィンドウ全体の板をシミュレートし、影の形状と柔らかさを制御できます。これにより、板のパターンやシャドウ エッジのギザギザを回避しつつ、静的ディテールを正確に実現しながら、リアルタイムシャドウの柔軟性を得ることができました。スポットライトのシャドウ解像度を上げると、フレーム内のすべてのシャドウに適用されるため、パフォーマンス コストが増加していました。代わりに、ライト クッキーを使用することで、シーン内の他のすべてのシャドウに影響を与えることなく、特定のシャドウに対してのみ必要な解像度を得ることができました。
このライトはリアルタイムであるため、ボリューメトリックレイも動的に更新されます。つまり、2D Sprite Birdや外に移動する雲などの追加的なタッチを加えると、ボリューメトリックライトが自然に反応し、没入感を維持できます。

混合ライト
混合ライトは、スペキュラーハイライトを保存するために主に使用されるようになりました。ゲームには金属面や反射面が多くありますが、その深度とリアルさは失いたくありませんでした。
しかし、リアルタイムライトは多すぎるので、ミックスライトは良い妥協案でした。Awake でキャッシュされたシャドウと一緒に使用することで、必要なシャドウディテールを維持しながらパフォーマンスコストを削減しました。フィルライトについては、必要なハイライトを維持しながらパフォーマンスを節約するために、シャドウを完全に無効にしました。
混合ライトを有効にすると、パイプのスペキュラーハイライトが引き立ちます。
ベイクしたライト
リアルタイムライトと混合ライトは強力ですが、どこでも使えるわけではありません。パフォーマンス上の理由や、場合によっては全体的な品質を向上させるために、ベイクしたライトが不可欠でした。
エリアライトとポイントライトをいくつか使用して、反射光ライティングを必要な場所にブーストしました。UnityのGPUライトマッパーはすでにGIとライト バウンスを計算していますが、慎重に配置されたベイク済みライトをいくつか追加することで、見た目が意図した雰囲気にマッチするようにしました。
例えば、床の木製テーブルの周りにリムライトを追加しました。太陽光のほぼ真下にありますが、ブーストなしでは平らで露出不足に見えました。リムライトは、雰囲気を壊すことなく注目を集めるのに十分なポップさを与えました。
ただし、シーンが静的に感じすぎないように、TVにリアルタイムのポイントライトを追加し、Unityのアニメーションシステムを使用して微妙なちらつきを作り出しました。この小さなディテールが、部屋のストーリーに命を吹き込み、誰かが見ていたのか、何かが動揺していたのかを示唆しています。
ライトがわずかに点滅してダイナミック要素を追加
リフレクションプローブ
リフレクションプローブは、現実のようなビジュアルを実現するために不可欠です。通常、部屋の中央にある1つのプローブで開始し、ほとんどのオブジェクトにキューブマップ反射を適用します。そこから、特定の反射オブジェクトの近くに追加のプローブを配置します。光沢のあるマテリアルであればあるほど、近くにある専用プローブの恩恵を受けられます。
リフレクションプローブを1つだけ有効にしても、画面上部のパイプのリフレクションに壁紙の黄色が表示されます。
Adaptive Probe Volumes(APV; 適応プローブ ボリューム)
Glasshouse には昼と夜のリアルタイムサイクルがないため、時刻の遷移に APV は必要ありませんでした。しかし、ダイナミック キャラクターやNPC向けの従来のライト プローブと比較しても、非常に価値が高いことが証明されました。
以前は、ライトプローブは十分な結果をもたらしていましたが、最適ではありませんでした。APV では、プローブがより滑らかな補間で自動的に配置されるため、明るい領域と暗い領域の間を移動する際のキャラクターの見た目が大幅に改善されました。これは、ライトコントラストの強い部屋では特に重要でした。

クロスシミュレーション
キャラクター、アニメーションライト、VFX を超えてさらにダイナミズムを加えるために、私たちは Unity ビルトインクロスました。セットアップとカスタマイズは迅速でした。
主にカーテンやテントに使用しました。パフォーマンス上の理由から、すべての場所に適用したわけではありませんが、プレイヤーが物理的にクロスを操作する(カーテンを透過するなど)たびに、非常にリアルさが増します。
カーテンが自然に動作するようにコンストレイントを設定し、クロスコンポーネントにプレイヤーのコライダーを追加して、カーテンが動きに適切に反応するようにしました。

カーテンの HDRP Lit マテリアルを「Double-Sided」に設定するのがとても気に入りました。こうすることで、クロスの正面にある影とライトが背面にも現れ、一種のサブサーフェススキャタリング効果を装います。カーテンを薄くして、まるでライトが生地を透過しているように感じさせます。
シャドウとライトはカーテンの両側にレンダリングされ、サブサーフェススキャタリング効果をシミュレートします。
結び
動的シャドウ、アニメーション化されたライト、クロス シミュレーションにより、それ以外の静的環境に動きとムードを加えます。リアルタイム、混合、ベイクされたライティングの適切なバランスと、クッキーの慎重な使用により、プレイヤーの注意を誘導し、ナラティブのディテールを暗示し、空間の感情的なトーンの形状を変えることができます。その結果、選択した内容によって、不気味さ、緊張感、冷静さが生まれます。
Glasshouseのウィッシュリストに登録し、FLAT28 の YouTube チャンネルでゲーム開発に関する最新情報を入手しましょう。Made with Unityゲームのその他の情報はSteamキュレーター ページで探り、ゲーム開発者からのインサイトはリソース ページで読むことができます。
