【Unity】HDRPで光跡を表現する

まだPreview版のHDRP上で光跡を表現する方法.

完成するもの.

完成版のサンプルはここ

https://github.com/nmxi/Unity_HDRP_LightTrail_Example

Environment

  • Windows 10 64bit
  • Unity2019.1.12f1
  • HDRP 5.16.1-preview

Method

0.HDRPのインストール

PackageManagerからHDRPをインストール.現時点2019-09-16ではまだPreviewのHDRPをインストールする.

執筆時点でのHDRPのバージョンは5.16.1-preview

インストールに結構PCのリソースが持ってかれるので,ゲームをやりながらインストールしたりするとフレームレートが落ちてキルレが落ちる(*´ω`*)

HDRPのインストールが完了したら,HDRPアセットを作成する.

ProjectタブでCreate → Rendering → HDRP Assetから作成できる.

HDRP Assetを作成し,インスペクターで確認すると以下のような詳細設定画面が出現する.

ここで描画パイプラインの詳細設定を行える.

HDRP Assetの作成が完了したら,ProjectSettings → GraphicsのSRP Settingsに今作成したプロファイルをアタッチする.

1.色空間をGammaからLinerに変更

HDRPがGanmma出力に対応していないため,Linerにする必要がある.

PlayerSettingsからColor SpaceをLinerに変更する.

2.SkyBoxの新規作成

空のゲームオブジェクトを作成し,名前をSkyBoxなどにする.

Volumeコンポーネントを追加し,Is Globalにチェック,ProfileをNewから新規作成する.

Add OverrideからHDRI SkyをVolumeコンポーネントに追加

今回 HDRMAPS からHDRP画像を拝借した. https://hdrmaps.com/ CC BY 4.0

https://hdrmaps.com/freebies/sunset-over-cabo-de-gata

HDRI画像の設定を以下の様に設定する.

  • Texture ShapeをCubeに設定
  • MappingをLatitude-Longtude Layoutに設定

そしたら,先程作成したSkyBoxオブジェクトのVolumeコンポーネント内,HDRI Skyの設定にHDRI画像を指定し

Volumeコンポーネントで再び Add OverrideからVisual Environmentを追加する.

Visual Environmentで SkyのTypeにチェックを入れ,HDRI Skyを指定する.

するとHDRI Skyが表示される.

3.Scene Settingsを作成

ヒエラルキー上でScene Settingsを作成する.

Scene Settingsで以下を変更する.

  • SkyのTypeをHDRI Skyに変更
  • FogのTypeをVolumetric Fogに変更しておく

4.Fogの作成と設定

ヒエラルキー上でRendering → Density Volumeの作成

分かりやすいようにFogとかに名前を変えておく

Dencity Volumeコンポーネントの設定を以下のように変更する.

  • Fog Distanceを100に設定,Fogの濃さが変わる.密度?(後で変更する)
  • VolumeのSizeを50, 50, 50に変更.この値はFogの発生している範囲の大きさ.カメラ,被写体が入るように設定する.

Scene Settingsの方の設定も変更する.

  • Volumetric Fogを追加する
  • 以下3つのパラメータのチェックを入れ有効化する
  • Base Fog Distanceを150に設定
  • Global Anisotropyを0.65に設定
  • Distant Fogにチェックを入れる

また不要な場合,Procedural SkyとExponemtial Fogを削除する.

次に,Directional Lightの傾きをHDRI画像の光源と合わせておく.

光跡を確認する用のオブジェクトを複数追加した.

5.Fogの設定を再度細かく設定していく

先程,FogのDencity VolumeのFog Distanceの値を100に設定したが,下げるとFogの濃さが高くなるのでちょうどいいところまで数字を下げる.

すると以下の様に光跡ができあがる.

6.ポストプロセスを添えて

適宜Fog DistanceやDirectional LightのIntensityの値を変えて画作りを行う.

以下は例.

7.完成

このような画になった.

オブジェクトをアニメーションさせたりすることで,さらに光跡が効果的に見えるようになる.

Ref.

https://nopitech.com/2018/07/15/post-754/

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です