※ これは 2022/02/25 時点の Unity 2021.2.13f1 の情報です
最新版では動作が異なる可能性がありますのでご注意ください
Sprite に影を付けることができたので、今度はこの Sprite を常にカメラ方向を向くように Billboard 化したい
なぜこれをしたいかというと、HD-2D ではこんな感じにカメラを少し斜め上からキャラを見下ろすので、そのままだと少し縮んでしまうため
Sprite で見せるなら常にカメラ正面を向けておいた方がよいというわけ
スポンサードリンク
そうはいってもやるのは Shader の修正
前回の Shader Graph から水色枠の範囲を追加し、Receive Shadows
オプションをオフにした
重要なのは Transformation Matrix
の Inverse View
ノードで、ここでカメラから見た相対座標や回転角の反転値(ビュー逆変換行列)を取得して加算することで、カメラの正面に向けている
あとは、他のドロップシャドウを受けるかどうかの Receive Shadows
オプションを切って、シャドウを Sprite 自身が受けないようにした
これをしないと無理やり正面を向けているため、自身の正しい影が重なっておかしくなってしまう
これを重ならないようにするのはなかなか大変そうだったので、Sprite を際立たせる意味でも影を受けないようにした方がよいという判断
・・・これを動かしてみると
しっかりカメラ目線を維持
若干影が傾いているけど、それが嫌な場合は Billboard を諦めて Sprite 自体をカメラに合わせて傾けた方がよいかも