unity 加载资源方式(转)

动态加载资源的方式

  1.Resources.Load()

  可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夹下,Unity不关有没有场景引用,都会将其全部打入到安装包中。Resources.Load();

  Resources.Load是本地动态加载资源所用的方法,也就是你想动态加载的时候才用到它,比如子弹,特效,某些实时更换的图片什么的,建议此文件夹不要放太多东西,在打包的时候,它会单独把里面的所有东西都集中打包到一起,不管里面有没有你用的东西,所以大多数资源应该是自己建文件放置

  2.AssetBundle

  http://www.xuanyusong.com/archives/2405/

  即将perfab资源打成 asset bundle 放在服务器或本地磁盘,然后使用WWW模块get 下来,然后从这个bundle中load某个object。AssetBundle

  3.AssetDatabase.loadasset

  http://www.mamicode.com/info-detail-312000.html

  这种方式只在editor范围内有效,游戏运行时没有这个函数,它通常是在开发中调试用的

区别与利弊

  Resources的方式需要把所有资源全部打入安装包,这对游戏的分包发布(微端)和版本升级(patch)是不利的,所以unity推荐的方式是不用它,都用bundle的方式替代,把资源达成几个小的bundle,用哪个就load哪个,这样还能分包发布和patch,但是在开发过程中,不可能没更新一个资源就打一次bundle,所以editor环境下可以使用AssetDatabase来模拟,这通常需要我们封装一个dynamic resource的loader模块,在不同的环境下做不同实现。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值