見出し画像

【Unity】HDRPのセットアップ方法

久々にHDRP ( High Definition RP )を使おうとした際、速攻で設定に行き詰った。(※美しいビジュアル映像制作のためには、必須のパイプライン)

HDRPプレビュー版時と設定方法が変わってしまったようだ。合わせて、SkyBoxの設定もわからず・・・。
で、試行錯誤の結果、初期セットアップのやり方が分かったので、メモしておく。

<Unity 2020, 2021>

■事前調査

◇プロジェクト新規作成テンプレートで比較

違いを確かめるため、テンプレートのライティング設定を比較。
 ・3D(Built-in Render Pipline)
 ・High Definition RP

画像21
プロジェクト新規作成時のテンプレート

・3D(SkyBoxの設定項目がある)

画像1
ライティング>環境

・High Definition RP(ライティングにSkyBoxの設定項目が無い)
※環境設定でVolume系プロファイルを使う気がするがやり方わからず。

画像2
ライティング>環境

◇ネットの知見を調査した結果

以前、HDRPの設定は、ゲームオブジェクト>レンダリング>Scene Settingsという項目で設定したようだ。
ただし、Unity 2020版では項目自体無くなっている。

画像3
ゲームオブジェクト>レンダリング>Scene Settings

試行錯誤した結果・・・
最終的に海外アーティストの動画で解決方法を見つけた。



■HDRPとSkyBoxの設定方法

・・・ということで、HDRPのセットアップ方法を説明。

大雑把な設定手順の概要を説明すると下記のような感じ。

  • HDRI初期セットアップ

    • プロジェクト設定で、HDRPの設定ファイルを読み込む

    • ライティングで、プロファイルを作成する

  • Sky Box設定

  • ポストプロセス追加

    • Volume系のゲームアセットを作成し、インスペクターで、個々の設定を追加。設定項目を

    • 調整していく。

あと、今回作成したアセットファイルは以下の通り。

画像23
プロジェクトウィンドウ内

■HDRPの初期セットアップ(下準備)

まず、HDRPのテンプレを使わず、素の状態で下準備から始める。

プロジェクト新規作成時のテンプレートは、「3D」を選ぶ。(標準のBuilt-in RPになるが、HDRPを後から上書きするのでこのまま進める)。

画像28
プロジェクト新規作成時のテンプレート

プロジェクトが新規作成され、Unity Editorが起動した後、パッケージマネージャーを起動し、HDRPパッケージをインストールする。
※該当項目が現れない場合、パッケージはUnityレジストリを選択。

画像27
パッケージマネージャー

次にHDRP用設定ファイルを作成する。
アセット>レンダリング>High Definition Render Asset を作成。するとプロジェクトウィンドウにHD Render Pipeline Assetファイルが作成される。

画像8
High Definition Render Asset

※Unity2021だと同じメニュー項目が日本語ローカライズされている。

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

それから、編集>プロジェクト設定 を開き、グラフィックス>スクリタブルレンダーパイプライン設定 で、HD Render Pipeline Assetファイルを選択設定。
※これで、HDRPに対応した編集ができるようになる。

画像9
プロジェクト設定

ついでに、品質>Rendering で、HD Render Pipeline Assetファイルを設定。品質>HDRP でレンダリングの詳細設定編集可能。
※この内容は、プロジェクトに生成されたHD Render Pipeline Assetファイル>インスペクター で表示される内容と同等。

画像23
プロジェクト設定>品質
画像24
プロジェクト設定>品質>HDRP

最後にライティングを設定。
ライティング>シーン設定 を設定。
ライティング設定は、新しいライティング設定ボタンをクリックして作成。

画像25
ライティング>シーン

ライティング>環境設定 を設定。
Sky and Fog Settings Profile (Volume)プロファイルを選択設定。

画像27
ライティング>環境

これで、HDRIの初期セットアップ完了。

●●●

■SkyBox設定

ヒエラルキーウィンドウにSky and Fog Volumeを作成。
(ゲームオブジェクト>ボリューム>Sky and Fog Volume)

 ※今回、プロファイラーが自動設定されるSky and Fog Volumeで
  作成したが、任意に設定したいならGlobal VolumeでもOK。

画像21
ゲームオブジェクト>ボリューム>Sky and Fog Volume

Sky and Fog Volume>インスペクター を設定していく。
Add Overrideボタンをクリックして、Sky>HDRI Sky を選択設定。

画像24
Sky and Fog Volume>インスペクター

HDRI Sky>HDRI Sky の入力ボックスにHDRIキューブマップを適用したマテリアルを選択して設定する。

画像23
Sky and Fog Volume>インスペクター

Sky and Fog Volume>インスペクター の全体状態。

画像5
Sky and Fog Volume>インスペクター

あと、以下の設定を確認。
Visual Enviromment>Sky>タイプ をHDRI SKYに設定する。

画像26
Sky and Fog Volume>インスペクター

ライティングウィンドウで、Enviromment (HDRP)>Static Lighting Sky をHDRI SKYに設定する。

画像24
ライティング

ビューポートでHDRPの表示具合を確認。

画像27
ビューポート

これで、SkyBoxの設定完了。

■参考:HDRIキューブマップを適用したマテリアルの作成方法

まず、プロジェクトにインポートしたHDRI(HDRイメージ)をキューブマップに変換。
次にプロジェクトウィンドウ>HDRIを選択し、インスペクターで、キューブマップを設定。

画像15
インスペクター

その後、変換ダイアログが表示される。変換後は、わかりやすいようにサムネイルアイコンのイメージが変わる。

画像23
プロジェクト>サムネイルアイコンの表示

あとは、マテリアルのCubemap(HDR)スロットにHDRIキューブマップを適用するだけ。このマテリアルをSkyBoxの設定に利用する。

<やり方>
プロジェクトウィンドウにマテリアルを新規作成する。
そして、マテリアル>インスペクター>Shaderのポップアップメニューで、Standardの設定をたどって、SkyBox>Cubemapに変更。
するとインスペクターの内容がCubemap設定表示に切り変わるので、
Cubemap (HDR)のスロットに(キューブマップに変換した)先ほどのHDRIテクスチャーを適用する。

■トラブルシューティング

◇ビューポートの背景にHDRIの画像表示されない

下図のビューポートの表示設定を確認してみる。リスト中のSkyboxが、チェックされて、表示設定が有効になっているかどうか確認。

画像24
リスト中のSkyboxの状態を確認

◇HDRPがインストールされているかどうか確認したい

パッケージマネージャーで確認できる。(項目を表示させるには、Unityレジストリを選択)

画像24
パッケージマネージャー

◇HDRI Skyに切り替わらない

Sky and Fog Volume>インスペクター>Visual Enviroment>タイプ で、HDRI Skyに切り替わらない場合は、先にライティングの設定のプロファイラーの設定を試してみる。

◇オブジェクトへの照明が強すぎる

HDRI Skyを設定してライトのEmission設定で、Intensityの値調整時、オブジェクトへの照明が強すぎる場合は、HDRI Sky>Intencity ModeをLuxに設定すると緩和された。
(※ただし、このやり方が正解かどうか不明)

画像27
ライト>インスペクター

◇HDRIの地面部分がぼやけてしまう

Sky and Fog Volume>Fog 設定のEnableの右端オプションが有効になっている場合は、無効にしておく。

画像26
Sky and Fog Volume>Fog
画像25
ビューポート表示

■ポストエフェクト追加

AOBloom等のポストエフェクトを追加したい場合は、ヒエラルキー>Sky and Fog Volume>インスペクター の設定で、Add Overrideボタンをクリックして表示されるリストから追加していく。

<例>
 ・Lighting>Ambient Occlusion(AO:遮蔽部の陰影)
 ・PostProssesing>Bloom (光の飽和)
 ・PostProssesing>Depth Of Feld(被写界深度)

※ここで設定したアンビエントオクルージョンは動的に動作をする。(SSAO、サブサーフェスAO)
※一方、静的なアンビエントオクルージョンの設定も可能。
その場合、一旦動的な設定を無効にしてから、各オブジェクトのインスペクター>「静的」を有効にした後、ライティング>シーン>アンビエントオクルージョンを有効にして、ライトマップをベイクする。
「静的」というのは、ライトマップのベイク対象にするという意味。

画像26
ヒエラルキー>Sky and Fog Volume>インスペクター

■参考動画

以上。

この記事が気に入ったらサポートをしてみませんか?