Unity _CameraDepthNormalsTexture不会被写入的问题

实现SSAO效果时,发现有的材质不会写入DepthNormal,从而造成AO穿透现象
查了下官方文档
https://docs.unity3d.com/Manual/SL-CameraDepthTexture.html
必须是RenderType为Opaque才写入DepthNormalTexture和DepthTexture
且要写在 SubShader 的下面,不能写在Pass里面

原来Tags分为SubShader Tags和Pass Tags
SubShader Tags ---- https://docs.unity3d.com/Manual/SL-SubShaderTags.html
Pass Tags ------- LightMode
写错位置Tags无效
Unity _CameraDepthNormalsTexture不会被写入的问题_第1张图片

Fallback "Specular"
// or Fallback "Diffuse"
这个也要写,否则同样不会写入

总结

  1. 头加上 : Tags {“RenderType”=“Opaque”}
  2. 尾加上 : Fallback “Specular”

你可能感兴趣的:(unity3d)