今回のブログは、来年以降の製品開発の主要な取り組みについて紹介する Games Focus シリーズの第 2 回です。この記事では、スクリプタブルレンダーパイプラインの現状、今後のリリース計画、および将来的なビジョンについて説明します。
Ralph が先週ブログに書いたように、私たちのミッションは、Unity があらゆる種類の優れたゲームを作成し、プレイヤーがどこにいてもリーチできるようにすることです。来年から 2024 年、2025 年にかけて、私たちが優先的に取り組む機能や改善点を明確にお伝えするために、この連載を開始しました。
Unity でグラフィックス関連プロダクトマネージャーをしている Ali Mohebali です。私は 19 年前にエンジニアとしてゲーム業界に入り、この 3 年間は誇らしいことに、Unity で働けています。この記事は、私とグラフィックスのエンジニアリング担当ディレクターの Aljosha Demeulemeester、グラフィックス担当プロダクトマネージャーの同僚である Mathieu Muller と Steven Kent との共同作業で書かれたものです。
本日の記事では、ユニバーサルレンダーパイプライン(URP)と HD レンダーパイプライン(HDRP)の改善を継続的に行い、Unity がサポートするすべてのプラットフォームでスケーラブルなグラフィックを作成できるようにする方法についてご説明します。それぞれのレンダーパイプラインで何が使えるのか、そして 2023 年以降の計画を見ていきましょう。
ハードウェアの性能が刻々と変化する中、ビジュアルコンテンツをテストし、最適化し、できるだけ多くのオーディエンスにリーチするように拡張するのは、複雑で時間のかかる作業です。私たちがスクリプタブルレンダーパイプライン(SRP)に込めた目的は、ビジュアルの品質とパフォーマンスを可能な限り高め、幅広いプラットフォームに向けてゲームの拡張・提供を行うためのコストを削減することです。
初めから物理的に正しいレンダリングを提供することはもちろん、クリエイターが必要とする高度なスタイル化、深いところまで手の届く最適化、およびラピッドプロトタイピングを可能にする、拡張性のあるレンダリングも提供するよう心がけています。さらに、レンダーパイプラインのソースコードは、読みやすく、変更可能で、生産性の高い C# で書かれているようにしたいと考えています。これにより、必要なときに、より深いカスタマイズを行うことができます。
そのために、ユニバーサルレンダリングパイプラインと HD レンダーパイプラインという、それぞれ異なる目的に特化した SRP を提供しています。それぞれの SRP の開発の進捗と、Unity でのレンダリングに関する長期的な目標を見ていきましょう。
私たちは、皆さんが効率的に学習し、カスタマイズし、Unity がサポートするすべてのプラットフォームにスケールできるように、URP を設計しています。私たちの最大の目標は、URP をモバイル、XR、スタンドアロン型ハードウェアで使われる主要なレンダラーにすることです。
URP はビルトインレンダーパイプラインの後継となるものです。私たちのグラフィックチームは、顧客が慣れ親しんだすべての機能を、より優れたパフォーマンス、より優れたカスタマイズ性、より生産的なワークフローで提供できるよう取り組んでいます。
Ralph が URP の機能をビルトインレンダーパイプラインのそれに近づけた Unity 2021 LTS リリースで URP に施された大きな前進のいくつかにすでに触れました。
私たちが個人的に期待している Unity 2021 LTS での改善点は数多くありますが、例えば以下のものが挙げられます。
また、シェーダーグラフのサーフェスオプション、デプスプレパスのサポート、ライトレイヤー、Volume システムによる画面更新間隔の調整オプションおよび Render Pipeline Debug ウィンドウなど、URP のカスタマイズやパフォーマンス管理用のワークフローも改善しました。
これまでの 2022 年の TECH ストリームリリースでは、皆さんからのフィードバックをもとに、ワークフローやパフォーマンスのさらなる改善を行ってきました。現在ベータ版で提供されている主な機能として、LOD のクロスフェード、レンダリングレイヤーとデカールレイヤー、フルスクリーンのシェーダーグラフのサポート、カスタムポストプロセッシングに関するさらに直感的なワークフローなどが挙げられます。
Unity 2022.2 では、Forward+ のサポートも追加されました。これは、フォワードレンダリングパスの長所を生かしつつ、ライトの数の制限をなくしたものです。
2022 年に行われた、小さいながらインパクトのある改良は SRP コア API に焦点を当てたものです。これはビルトインレンダーパイプラインで実現されていたいくつかの重要なユースケースを URP でも実現できるようにするものです。例えば、Camera.Render が公開している標準の Update ループの外側でレンダリングをトリガーできる機能は、現在 RenderPipeline.SubmitRenderRequest API によって利用可能です。DrawingSettings に追加された Override Shader のコンセプトは、ビルトインレンダーパイプラインの Camera.SetReplacementShader と同じ機能を実現するために使用することができます。
Unity 2022.2 リリースでは、URP はビルトインレンダーパイプラインが提供する機能の大部分を提供し、ある分野ではその品質と性能を上回ることになります。URP への移行をお考えの方は、2 つのパイプラインの機能比較を判断材料にしてください。また、新しい上級者向け e ブックをダウンロードし、詳細な移行手順の説明をご覧ください。
『ロスト・イン・ランダム』、『Two Point Campus』、『Circuit Superstars』、『Neon White』、『クラッシュ・バンディクー ブッとび!マルチワールド』および『LEGO Builder's Journey』などの素晴らしいタイトルをはじめ、URP を使ったゲームがどんどん発売されていることに本当に興奮しています。
2023 年のリリースにおける URP の目標は、ビルトインレンダーパイプラインとの機能パリティを実現するために残っている項目を仕上げ、より良いドキュメンテーションとガイドラインを提供し、皆さんのフィードバックに基づいてワークフローとパフォーマンスを改善することです。Volume フレームワークのパフォーマンス、シェーダーのビルド時間、およびメモリ使用量の削減に次いで、私たちが取り組んでいる新機能の中で大きなものは、アダプティブプローブボリューム、Temporal Anti-Aliasing、HDR ディスプレイ出力、そして VR 向けの中心窩レンダリングです。
皆様から最も要望の多い項目の 1 つがサーフェスフェーダーの機能です。今後数週間のうちに、新しい直感的な構文とレンダリングパイプライン全体で統一されたシェーダーオーサリングワークフローを持つブロックシェーダーのアップデートと公開デモを共有する予定です。
また、レンダーグラフを URP に採用する現在進行中のプロジェクトを軸として、URP の基礎部分のさらなる改善も進めています。これにより、すべてのプラットフォームで URP の安定性を高められます。同時に、レンダーグラフは GPU メモリ使用量を最小に抑えてくれます。レンダーグラフは 2023 年に提供される見込みです。また、レンダーグラフの採用によりコードベースを HDRP に近づけ、SRP の長期的な目標の 1 つである、2 つのパイプラインの互換性の向上を実現するための準備ができます。
完全な機能パリティが実現されれば、機能を比較する必要はなくなり、ビルトインレンダーパイプラインに替えて URP を自信を持って使用することができるようになります。これにより、ゲームに使うレンダーパイプラインを選択する際の意思決定が大幅に簡略化されます。私たちは皆さんがプロジェクトを移行するまでに十分な時間をかけられるようにするため、Unity 2023 LTS でもビルトインレンダーパイプラインのオプションを完全にサポートする予定です。
ビルトインレンダーパイプラインから URP へ移行することをお考えの方は、私のチームと私が担当した新しいテクニカルガイド「Introduction to the Universal Render Pipeline for advanced Unity creators」に目を通されることをお勧めします。
過去 3 年間、HDRP を使った素晴らしい作品が出てきました。例えば、『Hardspace:Shipbreaker』、『Recompile』、『I Am Fish』、Disciples: Liberation』などです。また『Syberia:The World Before』は Steam Deck で 4K 動作を実現しています。
これと同じ時期に、開発者やアーティストから素晴らしいフィードバックをいただき、拡張性、物理法則に従ったライトの使用にまつわる UX、そしてパフォーマンスと安定性の向上につなげることができました。また、NVIDIA DLSS、AMD FSR、ボリューメトリッククラウド、およびレイトレーシングなどの革新的な機能や技術も取り入れました。
HDRP の LTS バージョンを使用して、首尾一貫していて協調的に動くスケーラブルな機能の完全なセットを使い、受賞歴もあるモバイルゲーム『LEGO Builder's Journey』を PC 向けのリアルなレンダリングゲームにアップグレードすることに成功した Light Brick Studios のようなチームも出てきました。また、Unity の拡張性、DOTS、HDRP の高度なレンダリング技術の組み合わせを活用して、大規模なマルチプレイヤーゲーム『V Rising』を動かした Stunlock Studios のようなチームもあります。物理ベースのライティングを使用したアニメーション映画が、必ずしもフォトリアリスティックに見える必要はないのと同様に(例えば『スパイダーマン:スパイダーバース』や私たちのショートフィルム『WiNDUP』)、HDRP は『Slime Rancher 2』のように、スタイル化されたビジュアルのゲームでも力を発揮することができます。
Unity 2022.2 では、HDRP でのシェーダーグラフの使用が完全にサポートされ、これを使用してカスタムポストプロセッシングパス、カスタムレンダーテクスチャ、および局所的なボリューメトリックフォグを作成するオプションが提供される予定です。
環境アーティストは、新しい水システム(フォーラムをご覧ください)、改良されたクラウドレイヤーのライティング、改良されたボリューメトリッククラウド、および 2 つの天候のブレンドが可能になったことにより、ビジュアルの品質を効率的に高めることができるようになります。
最後に、グラフィックスの忠実度が高いトレーラーやシネマティクスを作成する際、キャラクターやライティングのアーティストが Unity のデモ『Enemies』で使用されている眼球の高品質なコースティクスやエリアライトシャドウを利用できるようになっています。また、Pathtracer は、NVIDIA Optix™ AI accelerated denoiser や Intel® Open Image Denoise を使ってノイズの無い画像をより速くレンダーすることができます。
特に CPU 使用率については、顧客のゲームに制約が生じる可能性があるため、パフォーマンスの最適化を常に第一に考えています。機能については、Unity と CG 業界に多くのイノベーションをもたらした社内のメンバーによる研究の活用を進め、Wētā Digital、Ziva、SpeedTree のチームと協力し、私たちのアーティスト向けツールのポートフォリオのうち、PC とコンソールゲームにとって重要な特定の分野とイノベーションに注力する予定です。
その中には、以下のような分野もあります。
新しいテクノロジーは、新しいワークフローやツールを学ぶことを意味します。物理学に基づいた光の強さとカメラのレンズと露出に関する動画チュートリアルや、Volume システムとスケーラビリティ設定に関するドキュメント資料やブログ記事などをご覧になることをお勧めします。
しかし、多くのクリエイターにとって、これらは新しく学ぶことになる概念でしょう。HDRP の多くの側面に触れられる概略的なガイドをお求めなら、「The definitive guide to lighting in High Definition Render Pipeline (HDRP)」をチェックしてください。
パフォーマンスとスケーラビリティに優れたレンダリングのためのソリューションは、異なる目的に特化した 2 種類のレンダーパイプラインから始まりました。
URP は、モバイルデバイスで最適なビジュアル品質を提供し、Unity がサポートするすべてのプラットフォームで動作します。スタイル化されたビジュアルや物理的に正しくない最適化に対して、最大限の拡張性を提供します。
HDRP は、ハイエンドなプラットフォームでしか実現できない最高の映像品質を実現します。これらの機能を横断して物理的に正しい照明を提供する、緊密に統合された機能セットを提供します。
完全にスケーラブルなレンダリングに向けた次のステップは、1 つのゲームに対して URP と HDRP の両方を使用することを容易にすることです。このようなゲームでは、HDRP が提供するハイエンドの品質と、URP の幅広いプラットフォームリーチの両方が要求されます。『LEGO Builder's Journey』と『Road 96』は、PC とコンソール向けには HDRP を、モバイルとスタンドアロン型ハードウェア向けには URP を使って、そのすべてをターゲットにした素晴らしいゲームです。より多くの Unity クリエイターが、同じレベルのコンテンツスケーラビリティを実現できるようにしたいと考えています。
エディターは 1 つのプロジェクトに 1 つのパイプラインを使用するように設計されているため、現在これを実現するには、URP と HDRP の 2 つのプロジェクトを設定し、コンテンツを再オーサリングする必要があります。最終的な目標は、各プラットフォームでゲームに最適なパイプラインを選択し、再オーサリングを最小限にして、生産性を向上させることです。これにより、各プラットフォームで最適な品質とパフォーマンスを実現することができます。
目標達成のために、2 つのコンポーネントに取り組んでいます。
まず、URP と HDRP を同じプロジェクトに含めることができるように、エディターを修正します。プロジェクト内の異なるシーンでは、異なるレンダーパイプラインを使用することができます。Render Pipeline Coexistence を使用すると、1 つのプロジェクトで各パイプラインに合わせた異なるビジュアルアセットを作成・管理し、特定のレンダリングパイプラインとその関連アセットでターゲットプラットフォーム向けにコンテンツを構築・実行することができます。この分野については順調に進展しており、近いうちにより詳細な情報をお伝えできる予定です。
第 2 に、URP と HDRP の互換性を高め、異なるレンダーパイプラインでシーンをレンダリングするためにコンテンツを再オーサリングする労力を削減しています。私たちは過去 2 年間で、機能パリティが実現されている領域の拡大と、HDRP と URP の間の互換性を向上させるための作業に取り組んできました(SRP レンズフレア、地形のディテールと木、Visual Effect Graph、シェーダーグラフのマスタースタックとフルスクリーンマスターノード、レンダリングレイヤー、レンダリングデバッガ))。マテリアル、ライト、カメラ、ポストプロセッシングの共有データモデルを調査し、Unity がサポートするすべてのレンダリングバックエンドが最小限の再オーサリングでコンテンツを理解できるようにします。例えば Unity 2023 では、両方のパイプラインに対応した、クロスパイプラインのシェーダーグラフベースの Lit と Unlit 用の標準マテリアルが搭載される予定です。
この記事に対する質問やコメントをフォーラムにご投稿ください。Games Focus シリーズを引き続き楽しみにしていただければ幸いです。
私たちの取り組みの詳細は、レンダリングとビジュアルエフェクトのロードマップをご覧ください。Unity ID でログインし、機能性クッキーの使用を承諾していただく必要があります。このインタラクティブなページに表示されているカードはそれぞれクリックすることができ、その操作で各トピックの詳細を確認することができ、またフィードバックを送ることも可能です。カードをクリックし、自分から見た重要度を選び、自分の意見を入力し、送信します。そうすると、フィードバックが対応する製品チームに送られます。