バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はURPのカリングマスクについての記事です。
カリングマスクについてはこちらを参照。
動かしたバージョンはunity6000.0.32です。
症状:URPでカリングマスクを使おうとしたらダメだった
BIRPだと普通にカリングマスクが使えて、レイヤーごとにライトを照らすかどうかを選べた。
しかしURPでやったらダメでした。
ChatGPTに聞いたらレンダリングレイヤー(ライトマスク)ってやつを使わないといけないとか?
カリングマスク使えないのかなあ…。
原因:カリングマスクはレンダリングパスForward+では使えないっぽい
unity2022.3.22のURPでカリングマスクを使ったらちゃんと動いたんだけど、そう警告が出てた。


Calling Mask only works with Forward rendering. Instead, use Rendering Layers on the Light, and Rendering Layer Mask on the Mesh Renderer, which will work across Deferred, Forward, and Forward+ rendering.
カリングマスクの呼び出しはフォワードレンダリングでのみ機能します。代わりに、ライトではレンダリングレイヤー、メッシュレンダラーではレンダリングレイヤーマスクを使用してください。これらは、ディファードレンダリング、フォワードレンダリング、フォワード+レンダリングで機能します。
マジか知らなかったΣ(゚Д゚)
unity6000.0.32のデフォルトはForward+、unity2022.3.22はForwardだった
unity6の他のバージョンでは試してないけど、少なくともunity6000.0.32ではForward+がデフォルトになってましたね。
↓unity6000.0.32でカリングマスクを使うにはレンダリングパスをForwardに切り替えればいいみたい。
解決 これで動いた
これでunity6000.0.32でもカリングマスクが使えました。
まぁ今後はForward+が標準になっていくのかな?
レンダリングレイヤーっていうやつに慣れた方が良いんだろうけど、しばらくはこれで行ってみます。