テラシュールブログ

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

Unityでレンズフレアを用いて光を滲ませたり謎の光をしたり

レンズフレアを使用すると、滲むたいようや漏れる光みたいな、ボンヤリとした光の表現が可能です。例えば太陽といった光源、ロボットの目、光量を上げて謎の光等に使えます。

f:id:tsubaki_t1:20140804005116j:plain 

 

 

使い方は簡単です。

  1. Lens Flaresを落としてくる。
    (Assets/ImportPackageのLight Flaresでも良いですし、
     自分で作っても良いです)
  2. 光らせたい所にPoint Light を置く
  3. 2で置いたPoint Light の Flare に設定したいフレアを登録

これでライトが光るようになります。Unity Free版でも動く機能なので、使えそうなら使ってみると良さそうです。

 

動かすとこんな感じになります。

この機能のイケてない部分は、表示判定にColliderを利用する事です。地形等で判定するなら話は簡単なのですが、キャラクター等につける場合は上手くコライダーの位置を設定しないと光源が貫通して見えてしまうので注意が必要です。

このため、例えばSkinedMeshRendererを持つようなモデルの場合、複合コライダーを駆使して頑張るか、動かないモデルに大して行うような 工夫が必要です。いっそ、表示機能だけ使う為に別カメラで描画といった物も有りかもしれません(そういうアセットもありました)

f:id:tsubaki_t1:20140804012921j:plain

 

また、フレア表現にはカメラに Flare Layerコンポーネントが必要です。

f:id:tsubaki_t1:20140804012959j:plain

 

ちなみに以前紹介した「謎の光でパンツを見えなくする」もフレアを使っています。やっている事は簡単で、パンツにフレアに配置しています。後は足の部分とスカート部分にコライダーを配置するだけ(面倒だったのでMeshColliderが使われています)

光源の値を強くする事で、かなり「見えるはずのものが見えない」状態まで持って行くことが可能です。前述した問題点がありますが、表現としては割と良い感じなんじゃないかと。

…以前の Unityでパンツが見えそうなら「見せられないよ!」する も捨てがたいですが。

 

そういえばコレを出した時に面白いツィートを見かけました。「股間絶対遵守の煙」…これは勝てないw