LoginSignup
3
3

More than 5 years have passed since last update.

ライティングめも

Last updated at Posted at 2018-06-07

Lightコンポーネント

Bake

負荷を下げるためにライトを焼く。

まず、ゲームオブジェクトをstaticに変更することで事前計算ライティングを有効にする。

LightコンポーネントのModeをMixedかBakedにする。
シーンを再生してライトの位置を動かしたとき、
Mixedの場合、その場に光が留まりつつ、リアルタイムに移動する光も確認できる。
Bakedの場合、光は一切動かない。

参考
Unity5でライトを焼く

SoftShadowとHardShadow

SoftShadow: リッチ(負荷高い)
HardShadow: ラフ(負荷低い)

Culling Mask

ライトを当てたいレイヤーを指定して、一部のレイヤーだけにライトが当たるようにできる

参考
Unity3D:ライトを特定のオブジェクトのみに当てる

グローバルイルミネーション(GI)

https://docs.unity3d.com/jp/current/Manual/GIIntro.html
https://docs.unity3d.com/ja/current/Manual/GlobalIllumination.html

Enlightenをベースとした広域照明

参考
Introduction to Unity 5 Lighting workshop - Part 1
【Unity】Unity5のリアルタイムGI と LightProbe

Lighting Settings

Window > Lighting > Settings
GIの詳細な設定を行う

Environment Lighting

環境光を何にするか。Skybox、グラデーション、単色が選べる。

Environment Reflections

世界が何を反射しているか。

ライトプローブ

GIによる光の影響をベイクした情報を格納する

主な用途は、動的なオブジェクトに疑似ライティングを行うこと

ライトマップ :静的ゲームオブジェクトを照らす
ライトプローブ:動的なライトのゲームオブジェクトを照らす

リフレクションプローブ

https://docs.unity3d.com/jp/current/Manual/ReflectionProbes.html
https://docs.unity3d.com/jp/current/Manual/class-ReflectionProbe.html

Light > Reflection Probe

この位置なら周りの景色がこのように映るはずだよね、という情報を記録しておく

スクリーンショット 2017-10-27 20.15.18.png

TypeをRealtimeにすることで、動的オブジェクトに対応できるようにする
Refresh ModeはOn Awakeで最初の一瞬だけ記録する。
一方、たとえば回転している壁をリアルタイムに反映したい場合は、
Refresh ModeをEvery Frameにする必要があるが負荷が高い。
Box Sizeは反射したい部分だけ適宜調整しないと、不要な部分まで反射してしまうので注意。

二箇所にリフレクションプローブを設置
スクリーンショット 2017-10-27 19.51.08.png

キャラのMetalicとSmoothnessを最大値にすると、
あたかもリアルタイムに壁の色を反射しているかのような表現ができた。
スクリーンショット 2017-10-27 20.12.03.png
スクリーンショット 2017-10-27 20.12.36.png

ライティングの影響を受けない

Shaderを Unlit/Texture に変更する。

Unlit: すべてのライトとシャドウイングを完全にバイパスするレンダリング

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3