Unity Notes之生成AssetBundle时的引用丢失问题以及其它

本文介绍了Unity AssetBundle在生成时遇到的引用丢失问题,以及使用CollectDependencies和CompleteAssets参数的差异。为了解决CompleteAssets导致的引用丢失,建议采用两次打包的方法。同时,分享了如何通过命令行自动化生成AssetBundle,以及Unity3.0 NGUI中UILabel的内存占用问题,指出当显示过多文字时会导致FontMaterial内存膨胀,提出升级NGUI或限制UILabel显示长度的解决方案。
摘要由CSDN通过智能技术生成

Unity中提供的AssetBundle是资源管理中很重要的一部分,可以用它来实现游戏发布后的各种资源动态更新功能。其中的生成参数常用的有两个BuildAssetBundleOptions.CollectDependencies,BuildAssetBundleOptions.CompleteAssets,两者的详细差异可以参加Unity的文档。

【AssetBundle中的引用丢失】其中的CollectDependencies会track当前资源所需要的全部依赖资源,并也会将其打入到对应的包中,比如对于一个prefab来说,其所使用的.fbx模型、贴图、动画文件以及Atlas等等都会进入到生成包中。而CompleteAssets则同样会track引用关系,但是却不会包入相应的资源。

一般情况下,为了减少包的大小可能中需要保留引用关系来生成资源包,这就需要使用CompleteAssets参数。但是对于prefab上包含的脚本和shader等则会在使用此参数打出的包中丢失依赖关系,会出现找不到对应的引用对象,这个查了下可能是目前Unity版本中的一个bug。一个可用的解决方法就是将此包打两遍:

  1. 第一次使用CollectDependencies生成中间包,然后将其PushAssetDependencies,作为第二次打包的依赖包。
  2. 然后再使用CompleteAssets进
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值