Unity资源加载方式

文章介绍了Unity中的特殊资源目录,如Resources、StreamingAssets和自定义AssetBundle,以及它们的加载方式和应用场景。在游戏开发和发布后,资源管理采用不同的策略,开发阶段使用Resources加载,发布后通过AssetBundle实现热更新,以优化加载和更新流程。

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

一、Unity特殊资源目录

  • Resources:逻辑资源目录,这个目录中的资源会打入到包中,不允许热更。在打包时会被压缩和加密。

  • 加载方式:Resources.Load(常用) 、 AssetDatabase.LoadAssetAtPath等加载接口

  • StreamingAssets:Raw资源目录,这个目录中的资源也会打入到包中,且允许程序通过Application.streamingAssetsPath读取(移动平台不允许写入)。资源会原封不动的打入包中,因此StreamingAssets主要用来存放一些二进制文件(视频等流文件)。

  • 加载方式:AssetDatabase.LoadAssetAtPath

  • Editor Default Resources:编辑器Editor资源,不展开讨论。

  • ResForAssetBundles(可自定义名称):自定义的AssetBundle包,用于热更。

  • 加载方式:BundleInst.LoadAsset(常用) 、AssetDatabase.LoadAssetAtPath 等加载接口

二、Unity实现资源管理器的思路

在游戏发布后,为了能够最及时的修复bug和更新玩法,我们需要将资源以AssetBundle的形式打包,使玩家可以通过热更新获得最新的内容。但是在游戏开发阶段,unity工程目录是程序,美术,策划共享的,这一时期资源变化很频繁,每次资源的变化都打包AssetBundle是不实际的。所以,我们需要封装资源加载功能的实现,使其在PC和原生有不同的实现方式:

  • PC:从Resources中加载。即用:Resources.Load 、AssetDatabase.LoadAssetAtPath 等接口实现加载。

  • 原生:从AssetBundle中加载资源和场景,需要处理依赖资源的加载。即用:BundleInst.LoadAsset 等接口实现加载。

另外加载后,都可以用缓存来实现读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT外猩人

如果觉得有帮助,可以小小赞赏哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值