【Unity】影が汚くなる時の対処法

Unity

レンダリングパイプラインをURPに変更したら影にジャギー(ギザギザになる)が入って困ったので、対処方法のメモを残して置くことにします。

ライトのインスペクタに「Shadow Resolution」などが見当たらない場合、現在使用しているレンダリングパイプラインで影の設定をします。


レンダリングパイプラインを選択する

Universal Render Pipeline (URP)の場合はAssetフォルダの下Settingsフォルダ内にありますが、
沢山ありすぎてどれを使っているのか、またフォルダを整理していなくて何処にあるのか分からない場合は以下の方法で確認します。

①メニューバーの「Edit」> 「ProjectSettings」を選択する。
②左側の「Quality」を選択する。
③右側の「Render Pipeline Asset」で現在使用しているパイプラインが分かるので、ダブルクリックすると選択されます。

「Lighting」と「Shadow」の設定をする

今回変更したパラメータは赤枠で囲われた所です。

①Soft Shadows: これを有効にすることで、影の輪郭に “ぼかし” が掛かって、ジャギーが目立たなくなります。


②Cascade Count:カメラからの距離に応じて影を複数の領域(カスケード)に分割し、近くは高解像度、遠くは低解像度で影を描画する技術です。パフォーマンスを維持しながら影の品質を向上させます。値を増やすことでカメラに近い影が綺麗になりますが、レンダリングコストが増えます。


③ShadowResolution:4096にすると綺麗ですがパフォーマンスがかなり低下した為、今回はデフォルトの2048に戻しました。

もっと処理を軽くしたい場合は、ShadowResolutionを1024、CascadeCountを3でも良いかもしれません。

影のジャギー対処法まとめ(URPの場合)

  • URPを選択する。
  • Soft Shadowsを有効化する。
  • Cascade Countを確認し、適切に設定する(3または4)。
  • Shadow Resolutionを上げてテストしてみる。
  • BiasやNormal Biasの微調整を行い、アーティファクトを減らす。(長くなるので別記事化予定です)

タイトルとURLをコピーしました