Unity常见的四种加载资源的方式

1、直接实例化出来,通过instantiate(gameobject);
2、通过资源加载的方式 Resource.Load(路径) 进行加载
3、通过AssetBundle进行打包
在这里插入图片描述
在这里插入图片描述

void Start ()
{
     AssetBundle ab = AssetBundle.LoadFromFile(Application.streamingAssetsPath+ "/cube.unity3D");//路径的坑  在打包AssetBundle的时候,后缀名需要注意,不能使用unity 否则会有问题报错,使用unity3D没问题  在这里加载资源的时候需要加上后缀名一起进行加载 
      Instantiate(ab.LoadAsset<GameObject>("cube"));  //实例化的时候不需要加后缀,只需要写上名字即可
}

备注:坑爹的报错 Unable to open archive file 就是因为资源打包的时候后缀名为unity
在这里插入图片描述

4、通过UnityAssetDatabase.LoadAssetAtPath

  Instantiate(UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Prefabs/cube.prefab"))
  这里要注意路径,必须是Assets 然后再加上你存放的路径,不能使用Application.dataPath + "/Prefabs/cube.prefab" 否则也会加载失败,最后要有后缀名一起,否则加载失败 还有就是UnityAssetDatabase.LoadAssetAtPath  这个方法位于UnityEditor命名空间下。
Unity中,有多种方法可以动态加载图片资源。其中一种常见的方法是使用Unity的Resources功能。通过将图片资源放置在项目的Resources文件夹中,可以使用Resources.Load()方法来加载资源。 另一种方法是使用Unity的AssetBundle功能。AssetBundle是一种将资源打包成独立文件的方式,可以通过WWW类或UnityWebRequest类来加载AssetBundle资源。这种方法可以加载任意路径下的资源,包括项目外的资源。 还可以使用Unity的AssetDatabase功能。AssetDatabase只能在Editor环境中使用,可以加载Assets目录下的资源。这种方法适用于开发过程中需要在Editor环境中加载资源的情况。 最后,还有一种方法是使用UnityWebRequest类,它是WWW类的升级版本。UnityWebRequest可以加载任意路径下的资源,包括项目外的资源。 以上是在Unity中动态加载图片资源的几种常见方法。具体的使用方法和优缺点可以参考Unity的API文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Unity实现动态资源加载的4种方式](https://blog.csdn.net/qq_35711014/article/details/89891139)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值