Unity Pro Tips

オフィシャル記事詳細

HD レンダーパイプライン(HDRP)を使ったゲーム制作

<このページで学べる内容>

HD レンダーパイプライン(HDRP)を使用すべき場合を見定め、さらに HDRP を使って制作を始める方法を学びます。この記事は、Unite Copenhagen 2019 の Jennifer S. Roig-Deslandes によるセッションに基づいています。

HD レンダーパイプラインのチェックリスト

Unity のエンジニアがクリエイターから受ける質問の中で最も多いのは、「HDRPとは何ですか?」と「プロジェクトでどのように使用できますか?」です。そこで、プロジェクトで HD レンダーパイプライン(HDRP)を最大限に活用するためにはどうすればよいかを理解していただくために、この検討事項のリストをまとめました。 

まずは、プロジェクトで HDRP を使う準備ができているかどうかを評価するために、いくつかの質問に答えることから始めましょう。 

1.適切なターゲットプラットフォームを対象にしていますか? 

最初の質問は、サポートされているプラットフォームで出荷しているかどうかです。Xbox One や PlayStation 4、Windows(DirectX 11、DirectX 12、Vulkan)、Mac(Metal)、VR ヘッドセット(PlayStation VR、Oculus Rift、OpenVR、Windows Mixed Reality)などのコンソールに向けて出荷を計画しているのであれば、Unity はこれをサポートします。現在、Linuxのサポートはほとんどなく、Nintendo Switch、OpenGL、モバイルプラットフォームのサポートもありません。 

2.正しい制作サイクルに入っていますか? 

HDRP は Unity 2019.3 リリースでプレビュー版ではなくなるため、そのバージョン以降で HDRP を使用することを強くお勧めします。Unity 2019 の長期サポート(LTS)バージョン以降であれば、完全なサポートを受けることができます。それ以前のバージョンの Unity で HDRP を使用する場合は、すべてのメンテナンスをご自身で行う必要があります。   

3.HDRP と制作のスキルセットに対応した技術的な柱はありますか?

HDRP で作業するには、多くのアップグレードとメンテナンスが必要です。組み込みのレンダリングパイプラインやユニバーサルレンダリングパイプラインから移行するには、HDRP のための技術的な知識も必要になります。皆さんと皆さんのチームが、この技術を学ぶために時間を割くようにしてください。

4.自分たちのアーティスティックなビジョンに適した技術でしょうか? 

HDRP は物理ベースのレンダリングに基づいており、統一されたライティングパイプラインを提供します。また、皆さんのアーティスティックなニーズに対応するためのツールもいくつか用意されています。ビジュアルエフェクトグラフ、Look Dev、ポストプロセッシングです。キャラクターや環境については、HDRP は、スキン、ヘア、アイシェーダーのほか、サブサーフェススキャッタリング、テレイン(地形)のいくつかのサポートも提供します。 

どのレンダーパイプラインを使用するかをまだ決めていない場合、考慮すべき点がいくつかあります。HDRP は Unity 2019 の LTS 以降でサポートされており、独自の HD ポストプロセッシングスタックが付属しています。また、レイトレーシングのサポート、ビジュアルエフェクトグラフのサポート、シェーダーグラフのサポート、最先端のグラフィックス機能も備えています。

皆さんのプロジェクトに複雑なシーンが含まれている場合、HDRP は、スケーリングの面で組み込みのレンダリングパイプラインよりも優れています。しかし、モバイルとコンソールの両方での出荷を計画しているのであれば、HDRP は適切な技術ではないかもしれません。

HDRP で解決される問題

HDRP の真髄は、一元的かつ一貫したライティングです。パフォーマンスと、もちろん最先端のテクノロジーでもあります。 

一元的かつ一貫したライティング 

HDRP は物理ベースレンダリングパイプラインなので、現実世界の入力を使用してシーンを作成できます。たとえば、ライトの明るさはルーメンまたはルクスで表されます。 

アーティストは、コンテキストとは無関係にアセットのオーサリングを行えるようになります。コンテキストが変更されても、プロジェクト内でのビジュアルの一貫性が保たれます。 

パフォーマンス重視 

HDRP の機能は、現在サポートされているすべてのプラットフォームとの高パフォーマンスな互換性があります。Unity は、パフォーマンスを犠牲にすることなくプロジェクトのアーティスティックなビジョンを実現していただきたいと考えています。 

最先端のテクノロジー 

HDRP は、ビデオゲーム業界の標準テクノロジーである物理ベースレンダリング、物理的ライティングユニット、物理ベースコンポーネントを使用しており、これらすべてが使いやすいツールでまとめられています。

はじめに:HDRP を使用して最初のプロジェクトを作成する

プロジェクトで HDRP の使用を開始するには、次の手順に沿うことをお勧めします。 

1.デモとサンプルを通じてこのテクノロジーを理解する

Unity が制作するデモはすべて、HDRP パッケージをダウンロードした際に提供されるテクノロジーと同じものを用いて作られています。すぐに始められるデモとして、『Fontainebleau 』と『Spaceship』の 2 つがあります。どちらのデモにも、とびきり使い勝手のよいドキュメントと、どうデモが制作されたかを説明するブログ記事が用意されています。 

各 HDRP パッケージリリースにはサンプルも含まれています。 

2.Unity Hub の HDRPテンプレートから新しいプロジェクトを作成する

次に進む準備ができたとなれば、Unity で HDRP を使用してプロジェクトの作成を開始する方法をここで確認していきましょう。ハブを開き、新規プロジェクトを作成し、HD レンダーテンプレートを選択すれば、完了です。エディターが開き、そこで作業できます。 

3.Render Pipeline Wizard の使用 

スムーズに進まない場合は、Render Pipeline Wizard を使用してプロジェクトの問題を特定できます。これは、「Window」>「Analysis」>「Render Pipeline Wizard」にあります。

ゲームの変換:組み込みのパイプラインから HDRP へ

既に組み込みのレンダーパイプラインを使用するプロジェクトで作業してしまっており、それを HDRP に変換したい場合に推奨されるステップをここで示します。 

事前準備のステップとして、必要としている Unity バージョンを現在使用しているかどうかを確認します。こういった決断をするためにも、プロジェクトの関連ドキュメントはよく読みなおしておきましょう。パッケージマネージャーを開き、「High Definition RP」をクリックすると、現在実行されているバージョンが表示されます。以下にリンクをいくつか示します。最も重要なものは、ドキュメントのリンクと変更履歴のリンクです。 

パッケージの各メジャーバージョンは、それぞれ Unity の互換バージョンに対応している点については注意するようにしてください。この情報はパッケージマネージャーにあります。たとえば、HDRP パッケージの 5.0.1 バージョンは Unity 2019.1 と互換性があります。自分に適した組み合わせの Unity バージョンと対応する HDRP パッケージを設定したら、プロジェクトのアップグレードへ進めることができます。

プロジェクトを実際にアップグレードする方法

HDRP には独自のポストプロセッシングスタックがあるため、最初にプロジェクトで現在使用しているポストプロセッシングスタックを削除します。これを行うには、パッケージマネージャーで「Post Processing」を選択し、「Remove」をクリックします。

次に、リニア色空間にいることを確認する必要があります。「Edit」>「Project Settings」に移動し、「Player」を選択し、「Other Settings」に移動して「Color Space Settings」を確認します。この値を Gamma から Linear に変更します。 

その後、HDRP パッケージをダウンロードします。パッケージマネージャーで、「High Definition RP」を選択し、「Install」をクリックします。Unity バージョンの最新のパッチバージョンに更新してください。

HD レンダーパイプラインアセット

プロジェクトで HDRP を使用するには、HD レンダーパイプラインアセットを使用する必要があります。「Project」ウィンドウで「Assets」を右クリックし、「Create」>「Rendering」に移動して「High Definition Render Pipeline Asset」を選択します。次に、これをプロジェクトに割り当てます。「編集」>「Project Settings」>「Graphics」に移動し、「High Definition Render Pipeline Asset」を選択します。

Render Pipeline Wizard

何かに問題があるように見える場合、使用しているマテリアルが HDRP と互換となっていないことが原因かもしれません。Render Pipeline Wizard を使用して、設定、マテリアル、ライティングが HDRP と互換であることを確認します。 

Render Pipeline Wizard(「Window」>「Analysis」>「Render Pipeline Wizard」)では、プロジェクトの潜在的な問題の完全なリストが提供されます。問題を個別に確認するか、「Fix All」をクリックできます。 

マテリアルの変換

すべての問題が解決したら、マテリアルの変換が開始できます。マテリアルを変換するには、「Edit」>「Render Pipeline」>「Upgrade Project Materials」、「High Definition Materials」に移動します。プロジェクト内のすべての標準 Lit/Unlit シェーダーが HDRP Lit/Unlit マテリアルに変換されます。

次に、ライティングを非物理的ライティングユニットから物理的に正確なライティングユニットに変更します。マテリアルを変換し、ライティングを調整したら、ポストプロセッシングを再作成する必要があります。

HDRP のポストプロセッシング

ポストプロセッシングは、すでに「Project Settings」>「HDRP Default Settings」>「Volume Components」でプロジェクトに対してデフォルトで有効になっています。たとえば、トーンマッピングとブルームはデフォルトで有効になっていますが、ボリュームコンポーネントを通じて変更できます。シーンに対して独自のボリュームを作成し、このセクションで新しいプロファイルを追加することもできます。

HDRP を最大限に活用する方法

HDRP 設定を見ておきましょう。色々な場所から確認できます。 

  • プロジェクト全体の設定を 2 か所で調整することができます。
    • 「HDRP Default Settings」では、プロジェクトにシャドウが必要かどうかなどを指定できます 
    • HDRenderPipelineAsset にも、デカールやポストプロセッシングなどのいくつかの設定があります 
  • ボリュームコンポーネントには、ポストプロセッシングや空などの現在のシーンの設定が表示されます。設定は、ボリュームに対してローカルにすることも、シーンに対してグローバルにすることもできます。 
  • カメラベースの設定により、マスク、背景、投影方法、有効視野(FOV)などを調整できます。 

プロジェクトの設定を組み上げたところで、さらに調整することが必要となる場合もあるかもしれません。 

HDRP パッケージでレンダリングプロセスをカスタマイズする方法はいくつかあります。

  • カスタムパス:別のマテリアルを使用して Scene オブジェクトの選択済みリストをレンダリングするため、それらを再度レンダリングできます 
  • カスタムフルスクリーンパス:特定のマテリアルを使用してフルスクリーンクアッドをレンダリングします 
  • カスタムポストプロセス:独自のポストプロセスをレンダリングします  

HDRP ソースコードは GitHub でも公開されているため、プロジェクトのニーズに適合させることができます。ただし、コピーを作成して分岐させておき、Unity が提供するすべてのバグ修正済のものと定期的に統合することを強くお勧めします。

HDRP の詳細を学習できる場所

プロジェクトで HD レンダーパイプラインの使用を開始する方法の詳細については、HDRP 概要マニュアルを確認し、最新のブログ記事を読み、フォーラムのディスカッションにご参加ください。

この記事はいかがでしたか?