Unity加载资源时的常用路径或文件夹

这篇具有很好参考价值的文章主要介绍了Unity加载资源时的常用路径或文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

加载资源或者下载资源时的常用路径,我们平常开发下用的是编辑器下的路径。

编辑器下使用的资源路径和Windows端打包后并没有什么区别。你在编辑器下写的资源路径代码,大概率是可以在Windows下无缝运行的,重点是移动端打包后使用的资源路径,和Windows的资源路径有所不同。

顺带说明,路径全部使用'/'作为分隔符,移动端只支持'/'。

一、先介绍下这几个路径和文件夹。
1.1 Application.dataPath路径

这个属性返回的是程序的数据文件所在文件夹的路径。在编辑器下为Assets文件夹。

1.2 Application.streamingAssetsPath路径

这个属性返回流数据的缓存目录。使用前需要在Unity工程的Assets目录下起一个名为“StreamingAssets”的文件夹,然后用Application.streamingAssetsPath访问,这个文件夹中的资源在打包时会原封不动的打包进去,不会压缩加密。

1.3 Application.persistentDataPath路径

这个属性返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。在开发阶段时使用这个路径没有意义。

1.4 Application.temporaryCachePath路径

此属性用于返回一个临时数据的缓冲目录。

1.5 Resources文件夹

此文件夹下的资源必须通过Resources.Load()加载。路径直接从Resources下开始,打包后资源会被压缩加密,只支持读文件,无法写入。

二、哪些资源会被打包

在说不同平台路径之前要先明白一件事,Unity在打包发布时,会将Assets文件夹里面的文件打包,但并不是Assets所有的资源文件都会被打包,编译后代码不提,这个是肯定会被打包,其次除代码以外的各类资源,只有Resources下的和StreamingAssets两个文件夹下的资源才会被打包。

顺带提一下,在开发阶段使用AB包,如果只是做测试,那么AB包的位置是可以随便打的。如果想要随包体打包出去,那么就放在StreamingAssets文件夹下。然后发布后再移动到persistentDataPath。

三、几个平台下的Application路径区别
3.1 Windows平台

Windows平台这几个Application路径都可读可写。没什么限制。用啥API读写都可以。

3.2 Android平台

这个平台和Windows不一样,对于文件的读写有所限制。

dataPath是app安装包路径,如果你在打包到Windows平台后仍然是可以随便读写,但Android不行。不支持读写。

streamingAssetsPath,在Android下,该目录下的文件被压缩到一个单独的.jar文件(类似于zip压缩文件),只可通过WWW或者新版UnityWebRequest读取压缩文件中的数据。写入需要通过第三方压缩或者解压类库实现,不能简简单单的通过IO库完成。

persistentDataPath路径,当应用程序初次安装到IOS和Android平台,这个路径会指向一个公共的路径,并且不能跨App访问。应用更新、覆盖安装时,这里的数据都不会被清除。可读可写。

temporaryCachePath,当应用程序初次安装到IOS和Android平台,这个路径也会指向一个公共的路径。应用更新、覆盖安装时,这里的数据都不会被清除,手机空间不足时才可能会被系统清除。可读可写。

3.3 IOS平台

IOS除了dataPath不能写入,其他和Windows平台一致。

四、总结

总之就是推荐使用persistDataPath,每个平台都是可读可写。streamingAssets在安卓平台必须使用UnityWebRequest等类读取。DataPath在安卓平台无法读写,不推荐使用。

具体的各平台路径可以参考这位的博客(73条消息) Unity 各平台Application.xxxPath的路径_香草萌萌茶的博客-CSDN博客_application.datapath的路径文章来源地址https://www.toymoban.com/news/detail-576349.html

到了这里,关于Unity加载资源时的常用路径或文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC的文件操作——获取指定文件夹下面所有文件路径和删除指定文件夹下面所有文件

    目录 1.获取指定文件夹下面所有文件路径  2.删除指定文件夹下面所有文件 3.MFC的CString 字符串操作 4.MFC的 Int类型 与 Htuple类型数据之间转换  5.上述提及的函数应用 6.MFC与Halcon联合编程,获取halcon异常 7.MFC获取指定路径下的文件夹路径           ①、文件夹路径获取方式 ②

    2024年02月16日
    浏览(81)
  • 苹果Mac电脑文件夹路径怎么看?“访达”也能显示文件路径

    Windows系统中,“我的电脑”或“资源管理器”会显示文件/文件夹路径,Mac在“访达”中却不显示,确实不便,也让人费解。 连“三指拖移”都是默认不开启,Mac有这类奇怪逻辑就一点也不奇怪了。是的,这是苹果最不可理喻之处,老子就是要到处嚷嚷 其实Mac隐藏着一个文件

    2024年02月13日
    浏览(44)
  • macOS下快速复制文件或文件夹路径

    1、打开访达-显示-显示路径栏 2、在Finder中选择文件或是文件夹,然后按下快捷键command+Option+C,即可复制文件的全路径。

    2024年02月11日
    浏览(52)
  • 【C#】在Windows资源管理器打开文件夹,并选中指定的文件或文件夹

    因软件里使用了第三方插件,第三方插件的日志文件夹存在路径不止一个,并且可能层级较深。 为便于运维人员和最终用户使用,在界面上增加一个“打开XX文件夹”的按钮,点击时,打开第三方插件日志文件夹所在的上级文件夹,并选中其下级指定名称的若干个文件和文件

    2024年02月14日
    浏览(34)
  • 【关于前端打开本地文件夹获取本地文件路径】碰到需要打开本地文件路径,然后选中路径保存问题功能实现

    需要导入const ipcRenderer = require(“electron”).ipcRenderer; 但是必须要选中的文件夹里含有文件,因为是截取的,如果没有文件获取到的就是空的,是无法得到路径的 还是不知道怎么完全写打开一个目录然后保存到此目录。目前选择的目录如果无文件则覆盖不到。

    2024年04月11日
    浏览(49)
  • qt通过QFileDialog获取文件路径&保存文件&选择文件夹

            QT是一款常用的UI设计工具, 我们在日常开发中经常需要对文件或者文件夹进行操作,下面将介绍QT对于获取文件路径保存文件选择文件夹等场景的获取的伪代码.  注:适用于各语言的QT,比如python的pyQT之类的 保存文件: 根据指定文件夹找对应文件: 另存为:

    2024年02月06日
    浏览(43)
  • 切换Anaconda的指定文件夹路径

    anaconda刚开始下载的时候,默认是在c盘,然后我们使用anaconda打开文件夹也是打开c盘的文件夹。如果想在指定文件夹打开anaconda,可以按照如下步骤来。  如果是这种情况可以进行如下操作    然后切换到指定目录(我一般放在d盘)  如果是这种情况,可以进行如下操作   最后

    2024年02月11日
    浏览(34)
  • Python创建新文件夹并在其中创建文件的方法,或者文件夹路径不存在时自动创建

    参考:https://www.python100.com/html/S2IT74V832KF.html 在Python中,如果没有路径,则可以使用os.makedirs()方法来创建新的文件夹或目录。下面我们将从多个方面详细介绍Python如何创建新文件夹并在其中创建文件。 使用os.makedirs()方法可以轻松地创建新的文件夹或目录: 这段代码将在当前工

    2024年02月07日
    浏览(50)
  • 文件夹路径保存不同,什么批量修改名称

    在日常工作中不知道大家有没有遇到过,需要批量修改文件夹名称,并且文件夹保存路径不同呢,像这种情况到底不能批量修改呢。我也问了很多身边的朋友,他们有的说,他一般都修改保存路径是同一个,还很少遇到像我这样情况,他们给的建议是,分次修改,一次修改同

    2024年02月05日
    浏览(34)
  • IOS开发:指定路径创建新文件夹

    很遗憾,网上所有相关的博文都是这样写的。但使用最新的swift5.8如此操作,会出现以下报错: Cannot use instance member ‘documentDirectoryURL’ within property initializer; property initializers run before ‘self’ is available 以及: Expression expected 出现第一个错误的原因是,在swift中的一个结构体在

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包