Unity3D研究院之手游开发中所有特殊的文件夹(不是原创)

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去读取该文件夹下的资源。

1

2

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

Debug.Log(text.text);

3.Gizmos

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

1

2

3

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一起讨论。嘿嘿。

原文地址:https://www.cnblogs.com/-831/p/11433036.html

时间: 2024-10-07 00:59:24

Unity3D研究院之手游开发中所有特殊的文件夹(不是原创)的相关文章

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

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

Unity3D 手游开发中所有特殊的文件夹

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

写给VR手游开发小白的教程:(四)补充篇,详细介绍Unity中相机的投影矩阵

这篇作为上一篇的补充介绍,主要讲Unity里面的投影矩阵的问题: 上篇的链接写给VR手游开发小白的教程:(三)UnityVR插件CardboardSDKForUnity解析(二) 关于Unity中的Camera,圣典里面对每一项属性都做了简要的介绍,没看过的小伙伴传送门在下面 http://www.ceeger.com/Components/class-Camera.html 一.裁剪面 先从这个专业的词汇开始,以下是圣典对裁剪面的介绍: The Near and Far Clip Plane

手游开发攻防——二、基础篇

<手游开发攻防--二.基础篇>已经更新完.主要是通过一个官方的DEMO,来分析Unity3D开发中的一些知识点和应用.注意的事项.大家可以去看看.有什么的可以提出来交流. http://blog.csdn.net/kakashi8841/article/details/39451739

简单盘点手游开发引擎(欢迎补充)

无论是2D游戏还是3D游戏,游戏引擎都充当着游戏骨架的角色,没有游戏引擎就无法做出一款真正的游戏,通过游戏引擎制作者可以把画面.剧情.关卡.操作等元素拼接在一起,成为一款完整的游戏,同时赋予制作者实现其设计理想的可能性. 游戏引擎的功能丰富程度.画面表现力与拓展性,对于游戏的最终品质有很大的影响,于是商业引擎便开始崭露头角,Unity3D.Cocos2d.UDK, libgdx.OGEngine等这些知名引擎的名字,也逐渐被一般玩家所熟知. 下面我就简单整理下游戏引擎,欢迎大家补充: cocos

OGEngine:Java开发者的手游开发引擎

OGEngine:Java开发者的手游开发引擎 游戏引擎是游戏开发的核心框架.无论是2D游戏还是3D游戏,游戏引擎都充当着游戏骨架的角色,没有游戏引擎就无法做出一款真正的游戏. 出于节约成本.缩短周期和降低风险这三方面的考虑,很多游戏厂商倾向于使用第三方的现成引擎制作游戏,这样能将重心放在游戏的开发及设计上,不再受底层的技术及工具设计烦恼,这也不失为一个好的选择.另一方面,游戏引擎是游戏开发的核心,如果一直在核心技术上依附于他人,就难以摆脱受制于人的局面.所以综合考虑,选择一款优秀成熟的开源免费

Cocos2d-x 3.X手游开发实例详解

Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林

工具分享:GameplayKit苹果手游开发工具简析

6月9日WWDC2015大会上,苹果宣布iOS 9将推出两个非常重要的手游开发工具GameplayKi和ReplayKit,这两个工具对于iOS手游开发者及欧美游戏视频相关领域可能会产生比较大的影响.GameplayKit开发工具极有可能成为今后iOS手游开发的主流工具,小爱在这里向大家简单介绍下这款工具,有兴趣的iOS开发者可以尽早get新技能. GameplayKit是什么? GameplayKit是一款帮助新手开发者们在OS X和iOS平台创作游戏的基础工具和技术框架,它能提供游戏资源.模

OGEngine —— 基于JAVA的手游开发开源引擎

OGEngine是国际著名开源引擎AndEngine的一个分支,遵循LGPL开源协议使用OpenGL ES进行图形绘制.同时集成了Box2D物理引擎,因此可以实现复杂的物理效果. OGEngine主要使用Java语言开发,但在大运算量的耗时功能时,OGEngine使用了C/C++本地代码进行开发.比如物理引擎及音频处理.作为用户,你只需要关注Java端就可以了,它已经把所有的本地代码封装好了.相比于其他android游戏引擎,OGEngine的效率优势十分明显. AndEngine在国际上已成为