unity Rendertexture不显示半透物体或者粒子特效的解决

我看过雨凇大神是怎么解决半透明在rendertexture问题,直接在渲染模型特效背景加个sprite2d背景,其实这种非常不通用而且使用限制很大。我使用方案参考NGUI写一个给shader可以支持半透明就可以

 

因为以前用过NGUI的Unlit/Premultiplied Colored这个shader,然后换上这个shader,观察效果,模型无描边,粒子也能正常显示

所以就有必要看看NGUI的Unlit/Premultiplied Colored,看它是如何做到完美显示半透明和粒子。

  1.为什么粒子特效也不显示?

不显示是正常的,因为当前为背景的点设置为A为0时已经被剔除,当前位置粒子特效的颜色也会被剔除。

因为clip发生在融合blend之前,blend发生在所有颜色输出之后的帧缓存。

2.为什么NGUI的Unlit/Premultiplied Colored的shader能正常显示半透明粒子?

主要是因为使用了Blend One OneMinusSrcAlpha // 源rgba*1 + 背景rgba*(1-源A值)

这样就融合了源的A和背景的A,所以就正常显示了。

 

解决方案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值