📘

URP環境で動作するビルトインのSkyboxシェーダまとめてみた

2022/07/02に公開

6 Sided

6枚のテクスチャを用意する必要があるSkyBoxシェーダー
Mobileの6 Sidedと比べて、HDRの画像を使用したり、Tint Color、Exposure、Rotation
を調整できる
インスペクターは以下である

Tint Color

後述するテクスチャに、カラーを乗算

デフォルトの色

色変更

Exposure

後述するテクスチャに乗算して、露出を調整する

デフォルト

調整後

Rotation

Y軸を中心に回転
後述するテクスチャだと、
Front [+Z] (HDR)、Back [-Z] (HDR)、Left [+X] (HDR)、Right [-X] (HDR)
がY軸に回転する

https://www.youtube.com/watch?v=5i3tgXXID_c

Front [+Z] (HDR)~Down [-Y] (HDR)

Skyboxで表現したい6枚のテクスチャを設定
どういう原理かは下記のブログを参照
https://blog.applibot.co.jp/2017/11/20/tutorial-for-unity-3d-7/

また、HDRのテクスチャも設定可能である

HDRの設定オフ

HDDの設定オン

オンの方が、白飛びせずはっきり見える

Cubemap

6 Sidedとは違い、一枚の画像でSkyboxを表現できる
インスペクターは以下である

Cubemap (HDR)以外は、6 Sidedで解説したので割愛

Cubemap (HDR)

こちらに画像を設定するには、色々事前準備が必要である

Texture ShapeをCubeにする必要がある

そのあと、Mappingの設定によって画像の用意の仕方が変わる

①Auto

⇒Unityが自動で作成

②6 Frames Layout (Cubic Environment)

⇒下記のような画像を用意する

③Latitude Longitude (Cylindrical)

⇒下記のようなパラノマ画像を用意

④Mirrored Ball (Sphere Mapped)

⇒下記のような球上の画像を用意

Panoramic

Cubemapを作成しなくても、パラノマ画像でSkyboxを作成できるシェーダー

インスペクターは以下である

Tint Color、Exposure、Rotationが6Slicedで説明したため割愛

Spherical (HDR)

パラノマ画像(HDRも)を設定

Mapping

Latitude Longitudeだと通常通りのSkyBoxの描画になるが
6 Frames Layoutだと、下記のような描画になる

四角形の角が見えてしまっている

Mapping

360 Degreesだと通常通りのSkyBoxの描画
180 Degreesだと、下記画像のように、Z軸方向に画像を投影したような見た目になる

Mirror On Back

180 Degreesだと表示される
180 DegreesだとZ軸方向に画像を投影したような見た目になり黒い部分が見えてしまう
なのでこちらをチェックすると黒い部分が見えなくなる
ただ、360 Degreesと180 Degreesを比較して見え方が異なる

360 Degrees


180 Degrees、Mirror On Backオン

180 Degreesの方が画像が引き延ばされず綺麗に見えるが、Y軸面の画像の見え方がおかしい

3D Layout

よく分からない

Procedural

テクスチャがいらずにSkybox表現ができる

以下がインスペクターである

Sun

Noneはスカイボックスの太陽を無効

Simpleは簡易な太陽をスカイボックスに描画

High Qualityは、Sun Size Convergence を使用して太陽の様子をスカイボックスに描画

Sun Size

太陽のサイズを変更

デフォルト

変更

ただ他のオブジェクトへ影響はない

Sun Size Convergence

こちらでも太陽のサイズ変更
High Qualityのみ動作

デフォルト

値を最小

値を最大

Atmosphere Thickness

大気の密度を設定
レイリー散乱に基づいている
レイリー散乱について以下がわかりやすい
https://yoshi-seventh.com/archives/875
デフォルト

値変更

Sky Tint

色を設定

Ground

デフォルト

色変更

Exposure

上で説明したため割愛

Discussion