今天项目需要打包测试,结果在打包的时候报shader语法错误!
float attenuation = LIGHT_ATTENUATION(i); 这一行报 shader 语法错误()
查找原因 原来项目用unity 2017 升级到 2018以后 shader 的内置函数 LIGHT_ATTENUATION(i)
发生改变(unity2018 很蛋疼的BUG!!)
attenuation 衰减率 用新的内置函数获取
报错代码 float atten=LIGHT_ATTENUATION(i); (在unity2017中正常)
修改为 UNITY_LIGHT_ATTENUATION(atten,i,i.posWorld.xyz); (里面第一个参数就是你需要的得到的值,后面直接能用,不需要声明)
在Unity项目从2017升级到2018后,遇到了打包测试时的shader语法错误。具体错误出现在使用内置函数 LIGHT_ATTENUATION(i) 的地方。本文详细介绍了该错误的原因及解决方案。
2299

被折叠的 条评论
为什么被折叠?



