UnityでのZ-fightingの対処方法

重なったポリゴンがチラチラしてみえる現象に悩んでいたところ、これはZ-fightingという現象で、Unityに限らず3DCGでよくある問題なのだそうです。

対策その1

Shaderにデプスオフセットを指定する。

SubShader {
  Offset -1,-1
  ... 以下、略 ...
}

対策その2

カメラのClipping PlaneのNear/Farを狭めに設定する。

対策その3

ポリゴンが重ならないように少し(0.いくつか)ずらす。

リンク

Unity – マニュアル: ShaderLab :カリングと深度テクスチャ
https://docs.unity3d.com/ja/current/Manual/SL-CullAndDepth.html

Unity:シェーダーでZファイティングどうにかする:kelorin joのブロマガ-楽しいもの作らないと死ぬ病気 – ブロマガ
http://ch.nicovideo.jp/kelorinjo/blomaga/ar1128171

【Unity】壁や床の絵がチラチラするアレを何とかする – テラシュールブログ
http://tsubakit1.hateblo.jp/entry/2016/10/26/235900

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です