予算内での雰囲気のある環境を作成する方法

今日のゲスト投稿は、Lapsus Gamesの共同創設者で開発者のアルフォンソ・カパリーニからです。8月28日、Lapsusは彼らのデビューゲーム、NODE:を発表しました。Antariiの最後の願い、絶対に驚くべきゲーム内ライティングを特徴とするユニークな2.5Dパズルアドベンチャーです。アルフォンソは、昼間はプロのCGアーティストとして、HDRPでライティングにアプローチし、Unity<7>でNODEの密度のある雰囲気の環境を作り出す方法を学びました。
アニメーション業界のライティングアーティストとして、私はシーンに望む外観を得るために追加できるものにほとんど制限がないことに慣れています。何かがうまくいかない場合は?合成で修正します。しかし、そのパイプラインから1つのフレームを取得するには、数十時間または数百時間のレンダリング時間がかかることがあります。
NODE:の開発を始めたとき、UnityでAntariiの最後の願いを開発するために、私は映画的で雰囲気のある結果を得るためにアプローチを変更する必要がありましたが、1フレームあたり60時間ではなく、1秒あたり60フレームで実行する必要がありました。
言うまでもなく、ボリュメトリックライティングを導入することは決して安くはありませんが、リアルタイムでパフォーマンスを維持しながら、NODEを豊かで映画的に感じさせる方法でライティングするために開発したツールと技術のいくつかを紹介します。
通常の出発点:ただのキーライト
ここが皆が始める場所です:単一のキーライトを投げ入れ、グローバルイルミネーション(GI)が魔法のように残りを埋めてくれることを願います。

シーンをベイクした後、GIが役立つことに気づきますが、あなたが思い描いている雰囲気、深度、またはムードを得るには全く足りず、パレットに対する必要なコントロールも与えてくれません。

ボリューメトリック:深度を追加
雰囲気のある環境を望んでいるので、ボリューメトリックフォグを有効にすることから始めましょう。それは瞬時に雰囲気、深度、方向性を追加します。環境が空気を含んでいるように感じ始めます。
しかし、まだ足りません!

ここが、どこにでも光を追加しようと狂ったように始めることができるポイントです - 巨大な光、影のない光など - 光やGIがカバーするすべてのスペースを埋めるために。しかし、これらのアイデアを積み重ねることは、ボリュームと次元性の喪失によってシーンをより平坦に感じさせる結果になる可能性が高いです - または、はるかに遅く動作します。
NODEの目標は、パフォーマンスを完全に損なうことなく、空気自体の中で光が跳ね返り散乱する、密度のある雰囲気のある環境の感覚を作り出すことでした。その目的のために、私はこの回避策を開発しました。
空気中の光の散乱を幾何学的ボリュームを使って擬似的に表現する
NODEの照明目標を実現するために、HDRカラーで滑らかなグラデーションを作成する非常にシンプルなアンリットシェーダーを構築しました。中間点、減衰、発光乗数のコントロールを追加しました。このシェーダーは、球体、カプセル、ボックス、またはカスタムメッシュなどの基本的な幾何学に使用し、空気を満たす光をシミュレートしたい場所に配置します。これらのボリュームは物理的に正確ではありませんが、正しく感じます。

この特定のケースでは、非現実的であっても、キーライトの暖かさと対比するクールな補色を選び、より豊かなパレットを作成しました。必要に応じて、いくつでもレイヤーを重ねることができ、異なる強度でスタックして減衰をより良く制御できます。

結果として、シーンは空気自体で跳ね返っているように感じ始め、その空間を満たし、トーンと強度を完全に制御できます。

結果とそれに対応するライトマップでは、キーライトのシャフトがシーンに多くの深度と音量を加えている領域から始まるグラデーションがどのように作成されたかを見ることができます。


フォグ、グラデーションスカイ、トーンマッピング
次に、シーンの寸法に基づいて深度を加えるために、伝統的なフォグを補完しました。グラデーションスカイを使用して明度と色を調整し、カラーパレットを統一し、環境全体のトーンを設定しました。
これらすべてをまとめるために、ACESトーンマッピングを使用しました。詳細に入ることなく、これにより最終フレームにより「映画的な」感覚が与えられます。

雰囲気間のスムーズな遷移
このフォグとボリュメトリックライティングの組み合わせは、グラデーションスカイで色付けされ、幾何学的ボリュームを使用して大気の光散乱を模倣することで、スムーズな遷移とユニークな雰囲気を実現しました。私は、作成したUnlitシェーダーのグラデーションのランプを調整することで、長さと遷移ポイントを制御でき、Unityのボリュームブレンディングを使用して異なる空とフォグの設定間の遷移を行いました。
これにより、大量のライトを使用せずに済み、ライトベイク時間を非常に短く保つことができました。NODEの150の異なるシーンの合計ベイク時間が1時間未満であると言えることを誇りに思います!

単一メッシュで複雑なライティングを解決する
このセクションでは、このシンプルな技術がどのようにして複雑なライティングの問題を簡単に解決できるかの例をいくつか共有します。
このエレベーターシャフトでは、地下の緑のトーンから屋上の青のトーンに遷移する必要がありました。1つのボックスだけで、遷移を助けるための色彩的なベースを作成しました - 追加のパフォーマンスコストなしで。

この制御室のような狭い空間では、モニターとシーンの中心の間に2つの異なる雰囲気を作り出すことができ、必要なすべての光のラッピングを得ることができました。


結び
照明 ノード:Antariiの最後の好意は、制約を受け入れ、それを創造的な機会に変えることに関するものでした。アニメーションの世界から来た私は、知っていることを再考する必要がありました:合成なしでどうやってごまかすか、問題に対してもっと光を投げることなく目を導く方法、パフォーマンスを壊さずにシーンを豊かに感じさせる方法。
これらのトリックのいくつかがあなた自身のプロジェクトのアイデアを与えることを願っています、または少なくとも最初の直感的なアプローチを回避する方法が常にあることを思い出させる役割を果たすことを願っています。お読みいただきありがとうございます!
ノード:Antariiの最後の好意 は現在PCとコンソールで利用可能です – ゲームをウィッシュリストに追加する こちら。私たちの Steamキュレーターのページ で、Made with Unityのゲームをもっとフォローし、私たちの リソースページ でUnity開発者のストーリーをもっとチェックしてください。
