"そこ"から這い上がるブログ

プログラミングと電子工作が趣味でそこら辺のことを備忘録的に書きつつ這い上がっていこうといったブログ。そこ這い。

【Unity】Spot lightsで懐中電灯をつくる

今回が初投稿になります。\パチパチ/

タイトルの通りで懐中電灯をUnityで作ろうとおもったらちょっと詰まったところがあったのでメモ。

スポットライトは一般的には懐中電灯、車のヘッドライト、サーチライトなどといった人口の光源用に使用されます。

 と公式のドキュメントに書かれているようにスポットライト=懐中電灯だと思っていたわけで、まぁ実際そうなんですが......使ってみると

 

f:id:knasa:20161207232617j:plain

んー?や、明るいんだけどちょっと期待と違う......
画像だとわかりにくいかもしれないですが、オブジェクトは明るくなるけれどterrainは暗いままになってしまいました。

調べてみると

answers.unity3d.com

ありましたね。まさにこれでした、方法としてはSpotlightのLightの設定からRender Modeを”Auto”から”Important”に変更します。これでばっちり......

f:id:knasa:20161207232616j:plain

じゃない!?なんかそれっぽいんだけど、半分しか映らない......実はこれ場所によって違っていて、全部映る角度もあるし、逆に全部映らない角度もある。ちょうどここはその中間ですね。

で、これも

 

answers.unity3d.com

ありましたねまさにこれです。

terrainのテクスチャに用いていたnormal mapが原因らしくてテクスチャのnormalをnoneに変更します。すると

f:id:knasa:20161207232618j:plain

できたー!

とこんな感じで懐中電灯風ライトの出来上がりですー\パチパチ/

 

注意点としてはRenderModeをImportantにすることでパフォーマンス的には辛くなってしまうのでそう頻繁に使うものではなさそうですね。

 

あ、決して海中電灯とかいうギャグではな......