テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity5の太陽をコントロールする

 唐突に何故かフレアがマイブームになりました。

実際は唐突と言うか、リパブリックでフレアを使いまくっていたためなのですが、実際使ってみたところ、案外面白い機能な気がします。

tsubakit1.hateblo.jp

目次

 

で、今回はフレアと太陽の話です。

光の向きに太陽を表示する

太陽の位置に光の表現を行ってみます。

Unity5よりLightでSunに設定したライトの方角に太陽の位置に「白い太陽」が表示されます。

f:id:tsubaki_t1:20150428081312p:plain

この大気の調整を行うには、Materialを新しく生成しSkyBox>proceduralシェーダーを設定・LightのSkyboxに設定します。

f:id:tsubaki_t1:20150428090551p:plain

SkyboxProceduralの設定項目はこんな感じです。

  • Sun Size:太陽の大きさ
  • Atmoshpere Thickness:大気圧(薄いと黒い・厚いと赤い)
  • Sky Tint:空の色合い
  • Ground:地面の色
  • Exposure:露光(輝度)

また角度により空や太陽の色が変わります。

f:id:tsubaki_t1:20150428081838p:plain

f:id:tsubaki_t1:20150428082117p:plain

太陽を派手にしたい

こんな細かいパラメータ調整は良いから派手にしたい!という場合があります。例えば、太陽だけ無駄にBloomがかかっててレンズエフェクトもかかりまくり…といった感じです。

そんな時はレンズフレア(Lens Flare)を使用します。

f:id:tsubaki_t1:20150428082558p:plain

Directional LightにLens Flareコンポーネントをアタッチし、Directionalにチェックを入れます。これで、上で設定していた太陽と同じ位置にフレアが出現します。

Lens Flareは色やFlareの輝度が調整しやすいので中々に良い感じです。

f:id:tsubaki_t1:20150428082733p:plain

自然で全体的な物に関してはFlareよりBloomやGlowのイメージエフェクトを使った方が良いかもしれません。

tsubakit1.hateblo.jp

ただイメージエフェクトが使えない(使うとパフォーマンスがガタ落ちする)環境や、「光る弾」のような物を表現する場合は、Ignore Layersで無視するコライダーのレイヤーを指定してコレで表現するのも有りかもしれません。こういった物はビルボード安定な気もしますが。

f:id:tsubaki_t1:20150428085130p:plain

ちなみに同一オブジェクト内にアタッチしたコライダーは無視出来ないみたいです。

その他

tsubakit1.hateblo.jp

docs.unity3d.com

Unityのレンズフレアでデプステストするspphire9.wordpress.com