Camera’s Depth Texture

  In Unity a Camera can generate a depth or depth+normals texture. This is a minimalistic G-buffer texture that can be used for post-processing effects or to implement custom lighting models (e.g. light pre-pass). Camera actually builds the depth texture using Shader Replacement feature, so it’s entirely possible to do that yourself, in case you need a different G-buffer setup.

  Camera’s depth texture can be turned on using Camera.depthTextureMode variable from script.

  There are two possible depth texture modes:

  • DepthTextureMode.Depth: a depth texture.
  • DepthTextureMode.DepthNormals: depth and view space normals packed into one texture.

  Camera’s Depth Texture

[DepthTextureMode.DepthNormals texture] 

  This builds a screen-sized 32 bit (8 bit/channel) texture, where view space normals are encoded into R&G channels, and depth is encoded in B&A channels. Normals are encoded using Stereographic projection, and depth is 16 bit value packed into two 8 bit channels. UnityCG.cginc include file has a helper function DecodeDepthNormal to decode depth and normal from the encoded pixel value. Returned depth is in 0..1 range.

参考:file:///C:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/html/en/Manual/SL-CameraDepthTexture.html

相关文章:

  • 2022-12-23
  • 2021-08-10
  • 2022-01-18
  • 2021-05-21
  • 2021-12-23
  • 2021-07-30
  • 2021-08-06
  • 2021-07-03
猜你喜欢
  • 2022-12-23
  • 2021-06-19
  • 2021-09-26
  • 2022-03-06
  • 2021-07-09
  • 2022-02-13
  • 2022-12-23
相关资源
相似解决方案