Unity を検索

Games Focus:ニーズに合わせてスケールするレンダリング

2022年9月15日 カテゴリ: Engine & platform | 20 分 で読めます
Games Focus blog 02, hero image
Games Focus blog 02, hero image
シェア

Is this article helpful for you?

Thank you for your feedback!

今回のブログは、来年以降の製品開発の主要な取り組みについて紹介する Games Focus シリーズの第 2 回です。この記事では、スクリプタブルレンダーパイプラインの現状、今後のリリース計画、および将来的なビジョンについて説明します。

Ralph が先週ブログに書いたように、私たちのミッションは、Unity があらゆる種類の優れたゲームを作成し、プレイヤーがどこにいてもリーチできるようにすることです。来年から 2024 年、2025 年にかけて、私たちが優先的に取り組む機能や改善点を明確にお伝えするために、この連載を開始しました。

Unity でグラフィックス関連プロダクトマネージャーをしている Ali Mohebali です。私は 19 年前にエンジニアとしてゲーム業界に入り、この 3 年間は誇らしいことに、Unity で働けています。この記事は、私とグラフィックスのエンジニアリング担当ディレクターの Aljosha Demeulemeester、グラフィックス担当プロダクトマネージャーの同僚である Mathieu Muller と Steven Kent との共同作業で書かれたものです。

本日の記事では、ユニバーサルレンダーパイプライン(URP)と HD レンダーパイプライン(HDRP)の改善を継続的に行い、Unity がサポートするすべてのプラットフォームでスケーラブルなグラフィックを作成できるようにする方法についてご説明します。それぞれのレンダーパイプラインで何が使えるのか、そして 2023 年以降の計画を見ていきましょう。

スクリプタブルレンダーパイプライン

Road 96 by Digixart
『Road 96』(Digixart)

ハードウェアの性能が刻々と変化する中、ビジュアルコンテンツをテストし、最適化し、できるだけ多くのオーディエンスにリーチするように拡張するのは、複雑で時間のかかる作業です。私たちがスクリプタブルレンダーパイプライン(SRP)に込めた目的は、ビジュアルの品質とパフォーマンスを可能な限り高め、幅広いプラットフォームに向けてゲームの拡張・提供を行うためのコストを削減することです。

初めから物理的に正しいレンダリングを提供することはもちろん、クリエイターが必要とする高度なスタイル化、深いところまで手の届く最適化、およびラピッドプロトタイピングを可能にする、拡張性のあるレンダリングも提供するよう心がけています。さらに、レンダーパイプラインのソースコードは、読みやすく、変更可能で、生産性の高い C# で書かれているようにしたいと考えています。これにより、必要なときに、より深いカスタマイズを行うことができます。

The Unity demo project Viking Village URP shows off URP capabilities with Light Probes, Reflection Probes, water special effects that use a custom ScriptableRenderPass, shaders converted via Shader Graph, and URP post-processing.
Unity のデモプロジェクト「Viking Village URP」は、ライトプローブ、リフレクションプローブ、カスタムの ScriptableRenderPass を使用した水の特殊エフェクト、シェーダーグラフ経由で変換されたシェーダー、URP ポストプロセッシングなど、URP の能力を存分に見せつけている。

そのために、ユニバーサルレンダリングパイプラインと HD レンダーパイプラインという、それぞれ異なる目的に特化した SRP を提供しています。それぞれの SRP の開発の進捗と、Unity でのレンダリングに関する長期的な目標を見ていきましょう。

ユニバーサルレンダーパイプライン

Lost In Random by Zoink Games
『Lost in Random』(Zoink Games)

いま皆さんが使えるもの

私たちは、皆さんが効率的に学習し、カスタマイズし、Unity がサポートするすべてのプラットフォームにスケールできるように、URP を設計しています。私たちの最大の目標は、URP をモバイル、XR、スタンドアロン型ハードウェアで使われる主要なレンダラーにすることです。

URP はビルトインレンダーパイプラインの後継となるものです。私たちのグラフィックチームは、顧客が慣れ親しんだすべての機能を、より優れたパフォーマンス、より優れたカスタマイズ性、より生産的なワークフローで提供できるよう取り組んでいます。

Ralph が URP の機能をビルトインレンダーパイプラインのそれに近づけた Unity 2021 LTS リリースで URP に施された大きな前進のいくつかにすでに触れました

私たちが個人的に期待している Unity 2021 LTS での改善点は数多くありますが、例えば以下のものが挙げられます。

Reflection Probes used with assets from the ported URP version of the Unity demo FPS Sample: The Inspection. Each Reflection Probe captures an image of its surroundings in a cubemap texture.
Unity デモ FPS サンプル「The Inspection」からポーティングされた URP 版アセットで使われているリフレクションプローブ。各リフレクションプローブは、その周囲の画像をキューブマップテクスチャに取り込む。
Highlighting an object using Light Layers
ライトレイヤーを使ってオブジェクトをハイライトする

今後の予定

これまでの 2022 年の TECH ストリームリリースでは、皆さんからのフィードバックをもとに、ワークフローやパフォーマンスのさらなる改善を行ってきました。現在ベータ版で提供されている主な機能として、LOD のクロスフェードレンダリングレイヤーデカールレイヤーフルスクリーンのシェーダーグラフのサポートカスタムポストプロセッシングに関するさらに直感的なワークフローなどが挙げられます。

Decals are useful for adding extra texture details to a scene, especially to break the repetitiveness of materials and their detail patterns. A Decal Projector affects all Meshes in a scene by default, which might not always be desired. Decal Layers allow you to decouple Meshes from specific Decal Projectors in your scene.
デカールはシーンのテクスチャにさらにディテールを与えたいときに便利で、マテリアルに繰り返しやそのディテールにパターンがあるとき、それを崩すために使うと特に有効である。Decal Projector は、デフォルトでシーン内のすべてのメッシュに影響を与えるが、これは必ずしも望ましいことではない。デカールレイヤーを使用すると、シーン内の特定のデカールプロジェクターからメッシュを切り離すことができる。

Unity 2022.2 では、Forward+ のサポートも追加されました。これは、フォワードレンダリングパスの長所を生かしつつ、ライトの数の制限をなくしたものです。

With the availability of Forward+ in URP, you can incorporate a larger number of lights than the current limit of eight Forward lights per object in your scenes. You will be able to select the Forward+ as a renderer of choice, the same way you would toggle between the current Forward and Deferred renderer.
URP で Forward+ が利用できるようになったことで、現在の 1 オブジェクトあたり 8 個の Forward ライトの制限を超える数のライトをシーンに組み込むことができるようになった。現在、レンダラーを Forward と Deferred で切り替えているのと同じように、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 を使ったゲームがどんどん発売されていることに本当に興奮しています。

Circuit Superstars by Original Fire Games
『Circuit Superstars』(Original Fire Games)

2023 年のリリースにおける URP の目標は、ビルトインレンダーパイプラインとの機能パリティを実現するために残っている項目を仕上げ、より良いドキュメンテーションとガイドラインを提供し、皆さんのフィードバックに基づいてワークフローとパフォーマンスを改善することです。Volume フレームワークのパフォーマンスシェーダーのビルド時間、およびメモリ使用量の削減に次いで、私たちが取り組んでいる新機能の中で大きなものは、アダプティブプローブボリュームTemporal Anti-AliasingHDR ディスプレイ出力、そして 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」に目を通されることをお勧めします。

Universal Render Pipeline advanced guide
最近、124 ページのガイド「Introduction to the Universal Render Pipeline for advanced Unity creators」を公開した。このガイドには、URP を最大限に活用するための実践的なヒントやベストプラクティスが集められている。

HD レンダーパイプライン

Syberia: The World Before by Microids ©2022 Microids SA. All rights reserved. Developed by Microids Studio Paris. Author and artistic director: Benoit Sokal. Published by Microids SA. All rights reserved.
『Syberia: The World Before』(Microids ©2022 Microids SA. All rights reserved. 開発:Microids Studio Paris、脚本・芸術監督:Benoit Sokal、発売元:Microids SA. All rights reserved.)

いま皆さんが使えるもの

過去 3 年間、HDRP を使った素晴らしい作品が出てきました。例えば、『Hardspace:Shipbreaker』、『Recompile』、『I Am Fish』、Disciples: Liberation』などです。また『Syberia:The World Before』は Steam Deck で 4K 動作を実現しています。

Image of a goldfish in a clear container looking at a bubble while floating inside a spaceship
『I Am Fish』(Bossa Studios)

これと同じ時期に、開発者やアーティストから素晴らしいフィードバックをいただき、拡張性物理法則に従ったライトの使用にまつわる UX、そしてパフォーマンスと安定性の向上につなげることができました。また、NVIDIA DLSSAMD FSRボリューメトリッククラウド、およびレイトレーシングなどの革新的な機能や技術も取り入れました。

Volumetric Clouds in HDRP that can react to the main directional light
メインのディレクショナルライトに反応する HDRP のボリューメトリッククラウド

HDRP の LTS バージョンを使用して、首尾一貫していて協調的に動くスケーラブルな機能の完全なセットを使い、受賞歴もあるモバイルゲーム『LEGO Builder's Journey』を PC 向けのリアルなレンダリングゲームにアップグレードすることに成功した Light Brick Studios のようなチームも出てきました。また、Unity の拡張性、DOTS、HDRP の高度なレンダリング技術の組み合わせを活用して、大規模なマルチプレイヤーゲーム『V Rising』を動かした Stunlock Studios のようなチームもあります。物理ベースのライティングを使用したアニメーション映画が、必ずしもフォトリアリスティックに見える必要はないのと同様に(例えば『スパイダーマン:スパイダーバース』や私たちのショートフィルム『WiNDUP』)、HDRP は『Slime Rancher 2』のように、スタイル化されたビジュアルのゲームでも力を発揮することができます。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

『LEGO® Builder’s Journey』(Light Brick Studios)

今後の予定

Unity 2022.2 では、HDRP でのシェーダーグラフの使用が完全にサポートされ、これを使用してカスタムポストプロセッシングパス、カスタムレンダーテクスチャ、および局所的なボリューメトリックフォグを作成するオプションが提供される予定です。

環境アーティストは、新しい水システム(フォーラムをご覧ください)、改良されたクラウドレイヤーのライティング、改良されたボリューメトリッククラウド、および 2 つの天候のブレンドが可能になったことにより、ビジュアルの品質を効率的に高めることができるようになります。

HDRP Sunset physical sky, water and clouds in Unity 2022.2
Unity 2022.2 の HDRP で再現された、日没の空、水面、雲

最後に、グラフィックスの忠実度が高いトレーラーやシネマティクスを作成する際、キャラクターやライティングのアーティストが Unity のデモ『Enemies』で使用されている眼球の高品質なコースティクスやエリアライトシャドウを利用できるようになっています。また、Pathtracer は、NVIDIA Optix™ AI accelerated denoiserIntel® Open Image Denoise を使ってノイズの無い画像をより速くレンダーすることができます。

特に CPU 使用率については、顧客のゲームに制約が生じる可能性があるため、パフォーマンスの最適化を常に第一に考えています。機能については、Unity と CG 業界に多くのイノベーションをもたらした社内のメンバーによる研究の活用を進め、Wētā Digital、ZivaSpeedTree のチームと協力し、私たちのアーティスト向けツールのポートフォリオのうち、PC とコンソールゲームにとって重要な特定の分野とイノベーションに注力する予定です。

その中には、以下のような分野もあります。

  • 環境:Adaptive Probe VolumesCapsule Shadows などの改善を含め、天候や時間の変化する環境下での高精細なレンダリングやライティングを容易に行えるようになりました。
Adaptive probe volumes used to light the Enemies demo environment.
『Enemies』デモ環境の照明に使用されたアダプティブプローブボリューム。
  • キャラクターとクリーチャー:操作可能なものでもそうでないものでも、高い忠実度のビジュアルを持たせたクリーチャーやキャラクターをレンダリングできるようにします。Unity の『Lion』、『Enemies』デモや、実験的なストランドベースのヘアソリューションに関する短い紹介動画で、これが実現した世界の一端を見ることができます。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

『Enemies』デモで使われた、新しい実験的なストランドベースヘアソリューション

リソース

新しいテクノロジーは、新しいワークフローやツールを学ぶことを意味します。物理学に基づいた光の強さカメラのレンズと露出に関する動画チュートリアルや、Volume システムスケーラビリティ設定に関するドキュメント資料やブログ記事などをご覧になることをお勧めします。

しかし、多くのクリエイターにとって、これらは新しく学ぶことになる概念でしょう。HDRP の多くの側面に触れられる概略的なガイドをお求めなら、「The definitive guide to lighting in High Definition Render Pipeline (HDRP)」をチェックしてください。

The definitive guide to lighting in the High Definition Render Pipeline (HDRP) instructs experienced Unity creators in how to use the latest capabilities in Unity 2021 LTS. Learn how to create high-end lighting with production-ready HDRP features – from Light Anchors to Lens Flares, and beyond.
「The definitive guide to lighting in the High Definition Render Pipeline (HDRP)」は、経験を積んだ Unity クリエイターにとっても、Unity 2021 LTS の最新機能の使い方について学ぶところのある記述が盛り込まれている。ライトアンカーからレンズフレアまで、本制作に利用可能な状態となった HDRP の機能を使って、ハイエンドなライティングを作成する方法を紹介している。

2023 年以降の SRP に期待できること

URP と HDRP の両方を使用したクロスプラットフォームコンテンツのオーサリングの合理化

パフォーマンスとスケーラビリティに優れたレンダリングのためのソリューションは、異なる目的に特化した 2 種類のレンダーパイプラインから始まりました。

URP は、モバイルデバイスで最適なビジュアル品質を提供し、Unity がサポートするすべてのプラットフォームで動作します。スタイル化されたビジュアルや物理的に正しくない最適化に対して、最大限の拡張性を提供します。

HDRP は、ハイエンドなプラットフォームでしか実現できない最高の映像品質を実現します。これらの機能を横断して物理的に正しい照明を提供する、緊密に統合された機能セットを提供します。

完全にスケーラブルなレンダリングに向けた次のステップは、1 つのゲームに対して URP と HDRP の両方を使用することを容易にすることです。このようなゲームでは、HDRP が提供するハイエンドの品質と、URP の幅広いプラットフォームリーチの両方が要求されます。『LEGO Builder's Journey』と『Road 96』は、PC とコンソール向けには HDRP を、モバイルとスタンドアロン型ハードウェア向けには URP を使って、そのすべてをターゲットにした素晴らしいゲームです。より多くの Unity クリエイターが、同じレベルのコンテンツスケーラビリティを実現できるようにしたいと考えています。

Lego Builder’s Journey by Light Brick studios
『Lego Builder’s Journey』(Light Brick Studios)

エディターは 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 用の標準マテリアルが搭載される予定です。

Road 96 by Digixart
『Road 96』(Digixart)

ご意見をお聞かせください

この記事に対する質問やコメントをフォーラムにご投稿ください。Games Focus シリーズを引き続き楽しみにしていただければ幸いです。 

私たちの取り組みの詳細は、レンダリングとビジュアルエフェクトのロードマップをご覧ください。Unity ID でログインし、機能性クッキーの使用を承諾していただく必要があります。このインタラクティブなページに表示されているカードはそれぞれクリックすることができ、その操作で各トピックの詳細を確認することができ、またフィードバックを送ることも可能です。カードをクリックし、自分から見た重要度を選び、自分の意見を入力し、送信します。そうすると、フィードバックが対応する製品チームに送られます。

このシリーズのさらなるアップデートにご注目ください。また、フォーラムでも皆さんのご意見をお聞かせください。

2022年9月15日 カテゴリ: Engine & platform | 20 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

フォーラムでディスカッションに参加する
関連する投稿