(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



Unityの2D(Sprite Renderer)でLightを使う【Unity】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2017.1.0f3


はじめに

今回は2D(Sprite Renderer)でLightを使う方法のご紹介です。

イメージとしては、以下のような感じ。


f:id:kan_kikuchi:20170816184902j:plain



なお、記事中の画像は以下のアセットを使っております。

2D Fantasy Art Assets Full Pack | 2D Textures & Materials | Unity Asset Store



------------追記(2019.08.19)------------


現状、Experimental(実験的)な機能ではありますが、Unity2019.2以降では

Unity公式の2D用のライトであるLight2Dが使えるようになりました!

f:id:kan_kikuchi:20190815111624g:plain



------------追記おわり------------


使い方

まず、普通にLightを置いてもSprite Rendererは明るくなりません。


f:id:kan_kikuchi:20170816182715g:plain


Lightの影響を受けるようにするにはMaterial作成し、


f:id:kan_kikuchi:20170816183538j:plain


そのMaterialのShaderをSprites/Diffuseに変更後、


f:id:kan_kikuchi:20170816183545j:plain


Sprite RendererのMaterialに設定します。


f:id:kan_kikuchi:20170816183554j:plain


これで2DでもLightが使えるようになります。


f:id:kan_kikuchi:20170816183159g:plain


ただし、デフォルトの状態だと暗いので、

Window - Lighting - SettingからLightingのウィンドウを開き、


f:id:kan_kikuchi:20170816183844j:plain


Ambient Color(環境光)を調整した方がいいかもしれません。


f:id:kan_kikuchi:20170816183927j:plain


おわりに

今回紹介したLightをうまいこと使うと以下のような感じにも出来ます。



ただし、Lightを増やしていくと以下の記事のように反映されなく場合が出てくるので注意が必要です。



また、Lightを使うだけでは明るくするだけなので、

綺麗に影を作ったりしたい場合は2DDL Proというアセットをオススメします。