关于Unity5.x版本AssetBundle打包Shader的问题

转载请注明出处!
  打包AssetBundle时,不注意的话,某些Shader是无法打包到AssetBundle中的。这两天一直被这个问题困扰,抽空就研究了一下。
  Unity打包Assetbundle时,要想将Shader一起打包,需要注意两种Shader:项目中自建的Shader文件和Unity内置的Shader文件。自建的Shader文件在Unity项目中是可以看到的,而Unity内置的Shader文件只能在项目中使用,但是项目中找不到这个文件,因为这个文件是在Unity的安装目录中,然后在Unity项目中通过某种映射关系来引用内置Shader。
  So...问题来了...
  项目中自建的Shader文件可以设置AssetBundle名称,然后进行打包,而内置的Shader根本无法设置Assetbundle名称,也就是说一般的打包方法是无法将内置的Shader进行打包的, 从而导致使用的内置Shader的材质球,从AssetBundle中加载出来后,会出现材质球丢失的情况。
  对应这个问题的解决方法,我简单研究了一下,打包前可以将Unity的内置Shader设置一下,让Unity自己能够识别到哪些内置Shader是需要被打包出来的。具体方法如下:
  1、依次点击菜单栏的 Edit -> Project Settings -> Graphics,然后在Inspector面板中会出现关于内置Shader的设置(“Built-in shader setting”)和Shader分离设置(“Shader stripping”)。
  2、其中上方的 Built-in shader setting的选项就是关于内置Shader的设置,这里只说明关于打包的操作,其中有一个将Always Included Shaders的数组,将需要打包的内置Shader 添加在这里即可。例如我要将名为Particles/Additive的内置Shader添加到里面,需要将数组的size增加1,然后在多出来的数组元素中选择 Particles/Additive即可。
关于Unity5.x版本AssetBundle打包Shader的问题 - IQ007伟哥 - IQ007伟哥的博客
 
  这时候再进行打包,就可以将内置Shader包含在打包文件中了。这应该也是Unity打包内置Shader的正确操作了。
  扩展: Shader分离设置(“Shader stripping”)里面主要是关于烘培的灯光贴图打包的设置,一般的操作是:"Lightmap modes"选择"Manual",然后点击下面出现的"From current scene"按钮即可,Unity会更具当前的烘培贴图来自动适配设置。
  如果有错误的地方,望大家指正。
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Unity5.x升级到Unity2017.x的过程中常见的异常问题,可以参考整理的经验共享文档。另外,如果您需要下载Unity5.x的32位版本,可以通过修改下载链接中的数字64为32来获取相应的安装程序。此外,您还可以关注Unity官方的GitHub页面,那里会发布一些示例工程以及处于开发阶段的新功能,可以帮助您了解Unity的发展方向并提升开发技能。希望这些信息对您有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Unity4.x/5.x/2017.x升级差异总结](https://blog.csdn.net/weixin_34206899/article/details/86085382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [最全UnityHub国际版下载链接Unity2023~2017各版本+Unity5.x【间歇性更新】](https://blog.csdn.net/qq_36829186/article/details/123847081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [unity 5.x从入门到精通_Unity学习中值得收藏的学习资料(书籍)与博客](https://blog.csdn.net/u013712343/article/details/123378759)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值