unity2018 shader 中 LIGHT_ATTENUATION();报错解决方案

在Unity项目从2017升级到2018后,遇到了打包测试时的shader语法错误。具体错误出现在使用内置函数 LIGHT_ATTENUATION(i) 的地方。本文详细介绍了该错误的原因及解决方案。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

今天项目需要打包测试,结果在打包的时候报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);  (里面第一个参数就是你需要的得到的值,后面直接能用,不需要声明)


低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值