1.Resources.LoadAssetAtPath

在Unity3D中如何实现动态加载资源的方法,就是把资源放在Resources目录下,使用Resources.Load方法即可动态加载资源。

但将资源放在Resources目录下有一个问题,那就是打包程序的时候会将Resources目录下的全部文件都加密压缩打进包内,这样如果我们想使用assetbundle方式打小包的话就不行了。

这个问题,API文档里有个方法叫Resources.LoadAssetAtPath,这个方法可以让你加载Assets目录下任何一个位置的资源,但只是在编辑器模式下。

利用这个方法,我们可以在测试和发布时使用两种不同的策略来加载资源:在编辑器测试环境使用Resources.LoadAssetAtPath方法动态加载资源;在发布环境中使用assetbundle方式加载动态资源。

private void LoadPrefabByResources()
{Object pre = Resources.LoadAssetAtPath(path, typeof(GameObject));GameObject cube = (GameObject)Instantiate(pre);cube.transform.parent = transform;  //设置父物体为自己
}

2.需要注意的事情

Resources.LoadAssetAtPath

只能在编辑器下加载非Resources文件夹下面的资源,但是打包出来并不行。

所以我们必须考虑好打包出来之后,资源怎么写入,怎么加载?

最方便的就是StreamingAssets文件夹,我们可以把数据全部放到这里面,然后通过WebRequest去加载,这里面的技术会在我的下一篇博文进行介绍

其次就是打包AssetsBundle,这个可以参照我的这篇博文 AssetBundle学习

AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;
它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file 和 resource files。(序列化文件和源文件)

Unity 编辑器环境下加载任意处资源 Resources.LoadAssetAtPath方法相关推荐

  1. flask keras 多线程环境下加载模型

    keras 多线程环境下加载模型 Tensor Tensor is not an element of this graph. 问题场景 keras 使用flask 发布深度学习模型服务,模型有一个定 ...

  2. Chrome 插件:无痕浏览模式下加载插件、启用插件设置方法

    通过 chrome://extensions/ 进入 chrome 插件列表,进入插件的详细信息页. 在无痕模式下启用的开关勾选上. 然后就好了. 喜欢的点个赞❤吧!

  3. unity优化冷启动时间/加载时间总结

    本文一部分博主并未实践过,只是做一个总结,如有错误,请指正 目录 一.概念了解 二.优化目的 1.保证游戏流畅度的基础上DrawCall越小越好 2.Statistics统计面板参数 3.打包编译 三 ...

  4. JavaWeb --MYSql(MySql基础,MySql高级,JDBC,从类路径下加载输入流对象)

    SQL分类 DDL(Data Definition Language)数据库定义语言,用来定义数据库对象:数据库,表,列等(操作数据库,表等) DML(Data Manipulation Langua ...

  5. DirectX12(D3D12)基础教程(二十二) ——HDR IBL 等距柱面环境光源加载和解算及 GS 一次性渲染到 CubeMap

    前序文章目录 DirectX12(D3D12)基础教程(一)--基础教程 DirectX12(D3D12)基础教程(二)--理解根签名.初识显存管理和加载纹理.理解资源屏障 DirectX12(D3D ...

  6. 关于unity 中使用AssetBundle加载资源,shader偶尔会丢失的问题解决办法

    问题描述: 因为项目中要进行热更新设计,所以用unity官方推荐的打包方式assetbundle进行打包,打包好了以后再电脑上运行正常,但是当发布到android上后发现偶尔场景背景会出现空白,多方查 ...

  7. Linux环境变量加载的研究

    我们经常遇到在linux执行某条命令时出现xxx文件没找到的问题.很多情况都不是库没有安装,而是环境变量的错误. 但是,我明明是设置了环境变量啊.所以,我对此进行了试验. 我们登录linux有很多种, ...

  8. UNITY编辑器模式下static变量的坑

    UNITY编辑器模式下static变量的坑 在unity中写编辑器扩展工具,如在编辑器中加个菜单,点击这个菜单项时执行打包功能. 类如下,其中的静态变量,如果每次进来不清空,则LIST会越来越大,打包 ...

  9. 如何在iOS 9中启用“应用程序传输安全性”的情况下加载HTTP URL? [重复]

    本文翻译自:How do I load an HTTP URL with App Transport Security enabled in iOS 9? [duplicate] This quest ...

最新文章

  1. Python中abs()和fabs()方法之间的区别
  2. 产品经理,你来自江湖
  3. 查看Full GC方法:1,jconsel:2,linux 命令: jstat -gcutil id 4s 10003,linux 命令(前提有.gc日志):c
  4. android gridview行分割线,Android中控件GridView实现设置行列分割线的方法示例
  5. 北京高院宣判:微信商标案终审驳回上诉 维持原判
  6. jQuery 属性操作 - toggleClass() 方法
  7. C语言之字符串探究(五):N系列字符串函数——strncpy、strncat、strncmp
  8. 【c++】构造函数初始化列表中成员初始化的次序性
  9. MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法
  10. 前嗅ForeSpider教程:采集图片/视频/资源文件的链接地址 1
  11. oracle登录页面错误,php和oracle的页面登录问题
  12. oracle10g 64位安装包下载地址,Oracle10g下载地址--多平台下的32位和64位
  13. Android 网络代理的创建
  14. Cp与Cpk了解与计算
  15. 2022微软苏州Software Engineer校招暑期实习生二面
  16. 易优cms 后台登录报:验证码错误 Eyoucms快速入门
  17. 第六周博客作业西北师范大学|李晓婷
  18. The simplest way to combine two csv file in python
  19. PCL代码学习03-kdtree_search
  20. 计蒜客--蒜头君回家

热门文章

  1. M1芯片加持!新iPad Pro跑分曝光单核1727分 多核7270分
  2. Apple发布新电脑
  3. C语言--分治法经典例题--循环日程安排问题
  4. 铁威马NAS教程之利用docker快速搭建个人在线书库
  5. 考研复试-计算机网络面试
  6. 顺序表基本操作<小白一听就懂!!!><超详细><接地气>
  7. HTML5里js制作个人理财系统,基于HTML5的个人在线理财系统的设计与实现
  8. docker容器部署nginx外网不通端口监听只有tcp6没走tcp问题
  9. 谷歌关键词优化:谷歌推广的小技巧-大舍传媒
  10. mysql的isnull函数_MySQL isnull()函数基本指南