Foxlair

Unity2019.3 URP7.1.8 环境下。Camera使用Opaque Texture的use pipeline settings选项无效

· q8f13

环境:Unity 2019.3,URP 7.1.8 Issue Tracker上并没有找到对应问题。也许是比较简单的bug所以没人在乎?

症状

本打算做个UI面板模糊效果,写shader的时候发现Unity在某个版本的SRP(HDRP / URP)中移除了原先通过GrabPass来拿_GrabTexture的方法,取而代之的是通过调整pipeline中的设置来获取 在pipeline settings中开启获取opaque texture,这样就可以在Shader中拿到一个名为_CameraOpaqueTexture的纹理数据,剩下的就按照原来_GrabTexture的方式来做就可以了 Unity_19Qs5EIpNw.png Pipeline中这样设置之后,按理说相机上的Opaque Texture选项在使用Use Pipeline Settings的情况下,应该就能直接拿到这个纹理数据。tooltip上也是这么说的: Unity_6M3dfiNyP4.png 但实际使用的时候,发现使用这个选项拿到的_CameraOpaqueTexture是一片纯灰色

解决

非常简单,在对应的相机上把Opaque Texture强制开启为On即可

一个主推的feature,在占据这么显著位置的选项居然不生效 虽然是个很小的问题,但给人感觉Unity官方无论在引擎大模块的重构方面还是在质量管理方面,很是混乱

#unity   #render   #URP   #bug