这里列举出手游开发中用到了所有特殊文件夹。

1.Editor

Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor  和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。 比如我们现在要做类似技能编辑器,那么编辑器的代码放在这里是再好不过了,因为实际运行时我们只需要编辑器生成的文件,而不需要编辑器的核心代码。

2.Editor Default Resources

Editor Default Resources注意中间是有空格的,它必须放在Project视图的根目录下,如果你想放在/xxx/xxx/Editor Default Resources 这样是不行的。你可以把编辑器用到的一些资源放在这里,比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到最终发布包里,仅仅用于开发时使用。你可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源。

TextAsset text =      EditorGUIUtility . Load ( "test.txt" ) as TextAsset ;

Debug . Log ( text . text ) ;

3.Gizmos

我觉得这个文件夹其实没什么用处,如下代码所示它可以在Scene视图里给某个坐标绘制一个icon。它的好处是可以传一个Vecotor3 作为图片显示的位置。 参数2就是图片的名子,当然这个图片必须放在Gizmos文件夹下面。

void OnDrawGizmos ( ) {

Gizmos . DrawIcon ( transform . position , "0.png" , true ) ;

}

如果只想挂在某个游戏对象身上,那么在Inspecotr里面就可以直接设置。。

这里还是要说说OnDrawGizmos()方法,只要脚本继承了MonoBehaviour后,并且在编辑模式下就会每一帧都执行它。发布的游戏肯定就不会执行了,它只能用于在scene视图中绘制一些小物件。比如要做摄像机轨迹,那么肯定是要在Scene视图中做一个预览的线,那么用Gizmos.DrawLine 和Gizmos.DrawFrustum就再好不过了。

4.Plugins

如果做手机游戏开发一般 andoird 或者 ios 要接一些sdk 可以把sdk依赖的库文件 放在这里,比如 .so .jar .a 文件。这样打完包以后就会自动把这些文件打在你的包中。

5.Resources

可以在根目录下,也可以在子目录里,只要名子叫Resources就可以。比如目录:/xxx/xxx/Resources  和 /Resources 是一样的,无论多少个叫Resources的文件夹都可以。Resources文件夹下的资源不管你用还是不用都会被打包进.apk或者.ipa

Resource.Load :编辑时和运行时都可以通过Resource.Load来直接读取。

Resources.LoadAssetAtPath() :它可以读取Assets目录下的任意文件夹下的资源,它可以在编辑时或者编辑器运行时用,它但是它不能在真机上用,它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。

AssetDatabase.LoadAssetAtPath():它可以读取Assets目录下的任意文件夹下的资源,它只能在编辑时用。它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。

我觉得在电脑上开发的时候尽量来用Resource.Load() 或者 Resources.LoadAssetAtPath() ,假如手机上选择一部分资源要打assetbundle,一部分资源Resource.Load().那么在做.apk或者.ipa的时候 现在都是用脚本来自动化打包,在打包之前 可以用AssetDatabase.MoveAsset()把已经打包成assetbundle的原始文件从Resources文件夹下移动出去在打包,这样打出来的运行包就不会包行多余的文件了。打完包以后再把移动出去的文件夹移动回来。

6. StreamingAssets

这个文件夹下的资源也会全都打包在.apk或者.ipa 它和Resources的区别是,Resources会压缩文件,但是它不会压缩原封不动的打包进去。并且它是一个只读的文件夹,就是程序运行时只能读 不能写。它在各个平台下的路径是不同的,不过你可以用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。

有些游戏为了让所有的资源全部使用assetbundle,会把一些初始的assetbundle放在StreamingAssets目录下,运行程序的时候在把这些assetbundle拷贝在Application.persistentDataPath目录下,如果这些assetbundle有更新的话,那么下载到新的assetbundle在把Application.persistentDataPath目录下原有的覆盖掉。(终于知道手游第一次进入时解压资源是在干什么了!)

因为Application.persistentDataPath目录是应用程序的沙盒目录,所以打包之前是没有这个目录的,直到应用程序在手机上安装完毕才有这个目录。

StreamingAssets目录下的资源都是不压缩的,所以它比较大会占空间,比如你的应用装在手机上会占用100M的容量,那么你又在StreamingAssets放了一个100M的assetbundle,那么此时在装在手机上就会在200M的容量。

今天就到这里了,如果有问题欢迎大家与@雨松MOMO一起讨论。嘿嘿。

  • 本文固定链接: http://www.xuanyusong.com/archives/3229
  • 转载请注明:雨松MOMO 2014年09月26日 于雨松MOMO程序研究院发表

(转)Unity3D研究院之手游开发中所有特殊的文件夹(assetbundle与Application.persistentDataPath)...相关推荐

  1. asset文件夹路径 unity_Unity3D研究院之手游开发中所有特殊的文件夹

    这里列举出手游开发中用到了所有特殊文件夹. 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以.比如目录:/xxx/xxx/Editor  和 /Edi ...

  2. Unity3D教程:手游开发常用排序算法 -下

    五.堆排序(Heap Sort) 1. 基本思想: 堆排序是一树形选择排序,在排序过程中,将R[1..N]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择最小 ...

  3. 手游开发中你需要了解的开发语言知识

    如今手机游戏已经成为人们生活之中不可缺少的娱乐活动,手机游戏的种类也越来越多.对于手游发烧友来说,你是否了解手机游戏开发都是使用的事什么开发语言呢?下面我们就一起来看看手游开发中你需要了解的开发语言知 ...

  4. 手游开发中游戏性能的优化

    这节课我们来聊聊游戏性能优化.大家在玩游戏的时候可能经常会遇到卡顿,延迟,死机,不流畅等等问题,那么这些问题是怎么引起的呢?如何去尽量的减少这些情况的发生呢?这些问题对于游戏开发者来说是必须要面对的问 ...

  5. 手游我的世界服务器地图文件夹,探秘《我的世界》手游 新版本支持本地地图导入...

    万众期待的网易我的世界手游来了,可以自由导入存档可以说是很方便了.今天熊猫为大家带来我的世界手游怎么导入存档,网易中国版手游存档位置在哪,想知道网易我的世界怎么导入存档的小伙伴就一起来看看吧! ▍探秘 ...

  6. android linux 优化,【「Android」UE手游研发中,如何做好Android内存优化?】|Linux|DEX|腾讯游戏|_傻大方...

    傻大方提要:[「Android」UE手游研发中,如何做好Android内存优化?]编者按在大年夜多半人的印象里,用UE引擎制造出来的游戏实际占用内存会比较高.腾讯游戏学院专家Leonn,将和大年夜家分 ...

  7. 手游开发神器 cocos2d-x editor 教程聚合和代码下载(持续更新中)

    --------------游戏基础教程篇-------------已完成--------- 一 cocos2d-x editor工具下载和基础教程JS篇: 一 手游开发神器 cocos2d-x ed ...

  8. Unity手游开发札记——移动平台的天气系统实现

    0. 牢骚 我发现,每个月的20+号是我有精力写博客的时间-- 这次项目算是经历的第一次严格意义上的渠道测试,更换了正式名称,见了更多玩家,开发组也经历的更多通宵--评价和数据如何暂时还未揭晓,趁着没 ...

  9. 视频教程-红孩儿网狐Cocos经典棋牌开发教程-手游开发

    红孩儿网狐Cocos经典棋牌开发教程 中国早期游戏程序员,2003年起从事游戏程序开发,负责开发过多款游戏项目,曾担任大型端游<无限世界>自研引擎技术负责人,2012年起关注Cocos引擎 ...

最新文章

  1. Gut: 孕期健康对孩子至关重要!
  2. Angualr6表单提交验证并跳转
  3. vue 高阶面试题_高级Web前端工程师面试之Vue问题汇总解析
  4. better-scroll刷新后才能滑动的解决方案
  5. CF1070L Odd Federalization 高斯消元
  6. server2008中如何关闭internet explorer增强的安全配置
  7. 33个热门数据分析软件,你都用过哪些?
  8. 双向循环链表【数据结构】
  9. 优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...
  10. hbase权限管理(访问控制标签ACL)
  11. inline函数的注意事项有哪些?
  12. python 图形库介绍_python 图形数据库
  13. win10连接mq_Win10环境下配置RocketMQ
  14. 下载 针式PKM V9.08 版
  15. React脚手架使用less
  16. 尚硅谷Web前端ES6教程,涵盖ES6-ES11
  17. python中imag是什么意思_Python-在imag中查找主要/最常见的颜色
  18. 数据学习(十四)-方差分析与试验设计
  19. 树莓派设置自动连接无线网络
  20. shell学习整理笔记

热门文章

  1. POJ 2778 DNA Sequence —— (AC自动机+矩阵快速幂)
  2. BZOJ2062 : 素颜2(face2)
  3. 第十七课:js数据缓存系统的原理
  4. Apache Spark源码走读之16 -- spark repl实现详解
  5. 【Vegas原创】SQL Sever系统表及系统procedure的总结
  6. AWS 云技术专栏系列文章
  7. FD.io/VPP — 流量追踪
  8. 打造出移动人体广告,变衣科技完成千万元级Pre-A轮融资
  9. kafka官方文档学习笔记2--QuickStart
  10. 九眼智能:信息安全是网络发展的关键