【Unity】空を表現する方法

Unity

はじめに

空を表現する方法はいろいろあるとは思いますが、ここではSkyboxというUnityの仕組みを利用した方法を紹介します。

また、SkyBox用のアセットとして、「Wispy Skybox」を使います。

メインカメラを設定

SkyBoxはカメラで設定します。

MainCameraを選択して、InspectorのCameraコンポーネントのClear Flagsを「Sky Box」に変更します。

マテリアルを設定

Skybox Materialを変更します。

Window > Rendering > Lighting Settingsを選択します。

すると、新しくLightingウィンドウが開きます。

ここの「Skybox Material」から、先細インポートしたWispy Skyboxにある「WipsySkyboxMat」を選択します。

選択出来たら、この「Lighting」ウィンドウはもう必要ないので、閉じましょう。

雲のある空ができました。

時間経過で空の色を変える

空にくもがあって、これでも十分綺麗なのですが、
もっとリアルに、時間変化による夕日を表現や夜の表現がしたい場合があるかもしれません。

Unityには、時間経過による空の表現を実現するためにSkybox用のShaderが用意されていますので、これを利用して実装していきましょう。

Materialを作成する

Projectで右クリック > Create > Materialでマテリアルファイルを作成しましょう

「SkyBoxProcedural」という名前にしました。

先ほど作成したMaterialを選択して、表示されたInspectorにて、「Shaderのプルダウン > Skybox >

Skyboxに反映する

Window > Rendering > Lighting Settingsを選択します。

表示されたLightingウィンドウにて、「Skybox Material」を先ほど作成したマテリアルに変更します。

グラデーションのあるきれいな空になりました。

空の色を変える

先ほど作成したマテリアルのInspectorにて色を変更することができます。

Sun Tint : 太陽の色

Sun Strength : 太陽の大きさ

Atmosphere Tint : 大気(空)の色

Ground : 地面(地平線より下)の色

以上です。

コメント

タイトルとURLをコピーしました