Unityの3Dゲームで用いられるLightを、2DのSpriteに対しても反映させる方法です。
汎用性低めかもですが、自分用の備忘録に残しておきます。
【まえがき】
自作ゲームで3Dモデルと2Dイラストを組み合わせているのですが、
光源を設定したときに3Dモデルにしか反映されないのが前から気になってました。
下二枚の画像を見ていただければわかる通り、
2DSprite(下記画像のキャラクター)は光源の影響を受けていません。
これを、光を反射して色や明るさを反映するようにMaterialを変更します。
最終的にこんな感じになります。
【本編】
-
手始めにSpriteと光源(Light)をシーンに配置します。今回の作業だと光源はPoint Lightがわかりやすいと思います。
-
作成したMaterialを選択し、インスペクターにあるShaderを選びます。ドロップダウンリストからSprites→Diffuseをクリックします。
【あとがき】
こちらの記事でこのテクニックを知りました。ありがとうございます!
https://kan-kikuchi.hatenablog.com/entry/2D_Light