Unity烘焙AlphaTest材质阴影

Unity内烘焙AlphaTest材质,比如植物树叶,有时候阴影会没有正确显示AlphaTest,比如这样

在这里插入图片描述

  • 尝试了修改shadowcaster pass、meta pass、rendertype、shader name等方法都不奏效。
  • 最后发现烘焙时需要读取主贴图的Alpha进行阴影AlphaTest的计算,而Unity识别这张主贴图的方法就是找到shader里命名为"_MainTex"的贴图,如果找不到,那么就默认Alpha是1,阴影的AlphaTest效果丢失,如上图。
  • 往往贴图的参数名,在项目进展过半的时候不适合修改,修改后已应用该shader的材质,该贴图的引用会全部丢失。
  • 所以这个问题最好的解决方法是在制作shader的时候就把主贴图命名为"_MainTex"。
  • 如果在shader已经投入使用再进行修改的话,可以在主贴图(A通道为Alpha)的那张贴图参数前加上[MainTexture]的Attribute,即可让Unity烘焙系统识别此张贴图为主贴图,读取该贴图的Alpha通道进行裁剪计算,即可正确烘焙阴影
  • 如下图,在主贴图参数前加上[MainTexture]再进行烘焙,阴影显示正确
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值