うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Z-Depth が取得できないことがある

カメラの Z-Depth を利用する Shader を記述していると一部オブジェクトで
Z-Depthが取得できないことがあった

調べてみると Unlit Shader の場合は Z-Depth が取得できないようでした

理由も調査したのですが、詳しい理由はわかりませんでした・・・

対応

対応方法としては以下の二通りあります

  • Surface Shader のライトを無効にする
  • フォールバックにSurface Shaderを指定する Fallback "Diffuse"

実際のZ-Depth

上: フォールバックを指定したUnlit Shader
中: Surface Shader
下: Unlit Shader

f:id:hacchi_man:20200602021452p:plain:w400