unity 移动平台打包丢失shader的问题

本文介绍了在Unity项目中自定义Shader的打包问题。当直接从代码加载而非编辑器引用时,Unity可能会忽略未使用的Shader。文章提供了两种解决方案:一是通过创建物体并应用Shader;二是更推荐的方式,在GraphicsSettings中明确指定Shader。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己写了个shader,并且是从代码里面来进行加载,编辑器中并没有引用。在编辑器中运行项目没有问题,但是当我发布到iso和android平台之后发现游戏中并不能找到我自己的shader,猜想是unity在打包过程中进行了一些优化,没有用到的shader不会被打到游戏包内。

我找到了2个解决办法

1.随意创建一个物体并添加使用了此shader的材质。并不推荐此方法,正确的方法应该是第二种。

2.在GraphicsSettings中添加上此shader:

选择Edit->ProjectSettings->Graphics (不同的unity版本可能有所不同,我的版本是5.6)

将shader拖入到Always Included Shaders数组中:



这样我们重新打包之后,就可以正常找到shader了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值