经常用HDRP的同学肯定注意到了,UI元素在World Space模式下会,出现接收场景光照与后处理,还有就是,颜色由于收到光照影响,变的暗淡的情况--如下图

接收了场景光照等
想要修复这个问题,可以用ShaderGraph自定义一下着色器,来解决这种情况--效果如下图

颜色正常了,并且剔除了后处理效果
下面是,具体的shader制作过程.和注意点
(Create -> Shader -> HDRP -> Unlit Graph)使用Unlit Graph--来制作UI着色器.
UI的着色器部分--使用了Vertex Color节点,
必须用(_MainTex)这个名字作为Texture的名称,这样Image才能获取到贴图.
最好开启双面显示,不然转到后面就看不到图片了.
材质模式选择透明
Rendering Pass--选择After Post-process---后处理之后.
其他的节点链接如下图

Text的着色器基本和上面的一样不过使用了ColorMask节点
ColorMask节点的颜色要弄成白色.默认是黑的
_Color属性,必须是暴露的.exposed.这可能是shader graph的一点小特点.

都很简单
文章参考了gamedeveloper站点里的,Fixing World-Space UI with Unity’s HDRP文章.
HDRP-World Space UI shader Unlit shader
懒得连连看的可以直接下面渠道获取
