HDRP UI上渲染模型的解决方式及常见问题

HDRP UI上渲染模型的解决方式及常见问题

综述

这是个很常见的需求,在SRP中一般有两种方式,分别是CameraStacking和使用RenderTexture缓存纹理,输出到RawImag进行渲染的方式,但由于SRP的版本迭代,当前主流的UnityLTS版本所适配的URP/HDRP版本都有些老旧,甚至没有CameraStacking功能,所以经常需要使用常规的RT+RawImage方案,过程中又会遇到SRP中的各种问题。笔者会基于不同的版本进行讲解。

1.RT+RawImage

Unity:.2019.4.10f
HDRP 7.3.1(verified version)
由于官方消息显示2020.2版本才会正式加入HDRP Compositor,而笔者为了稳定性使用的都是LTS版本进行开发,所以只能使用常规方案。

  • 新建RT相机,RawImage,先使用默认设置
    在这里插入图片描述
  • 区分SkyFog以及PPV2的Layer,同时修改MainCamera的VolumeLayerMask,保证GameInspector的显示正确
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 对于RTCamera同样也要设置VolumeLayerMask,每一层Layer都对应着相应的图像处理,如果遭遇了类似的问题,很有可能是Layer设置有误所致,ProbeLayerMask类似,不再赘述
变更前SkyFogPPV2
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 剔除Background显示
通常做法减去Fog
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
通常设置Background为None,但是HDRP中存在Volume,所以需要剔除SkyFog部分(也可能是其他Layer,需要一一排查)去除多余的Layer后,仍然有莫名其妙的图像存在于下层,根据FrameDebugger分析,这是其他相机(MainCamera)纹理叠加所致,目测是HDRP的相机规则
  • 所以要换个思路,采用Color背景,再用HDRenderPipelineAsset.ColorBufferFormat设置解决.
切换为Color背景修改ColorBuffer
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
需要开启A通道的Buffer用以剔除Background在这里插入图片描述 背景色 Alpha可以调节Background的透明度

2.CameraStacking/Compositor

笔者所用版本无法使用,先占个坑。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值