unity renderTexture 透明通道的问题

本文介绍了在Unity中使用RenderTexture时遇到的透明通道问题。由于Unity的深度仅渲染机制,透明信息会被错误地处理。解决方案是通过裁切透明的方式,例如设定一个阈值,将不透明度小于0.2的部分设为透明。通过开启AlphaToMask选项,可以在多边形平滑阴影下实现柔和的透明过渡。代码示例中展示了如何在 shader 中实现这一裁切过程。
摘要由CSDN通过智能技术生成

因为项目里用到renderTexture,发现unity的renderTexture有个问题,就是用透明的RGBA贴图设置的时候,他会将所有的透明通道信息单独拿出来全部做个乘法叠加,depth only的渲染机制导致,会分开存储透明信息。

这个时候的解决办法只能用裁切透明的方式来做一下处理,可以给个权重值,比如大于0.2的不透明度都设置为透明,而且在开启抗锯齿的情况下,这样的opacity Clip也可以过度很柔和了。

SubShader {
        Tags {
            "Queue"="AlphaTest"
            "RenderType"="TransparentCutout"////裁切透明类型
        }
        Pass {
            Name 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值