码迷,mamicode.com
首页 > 编程语言 > 详细

Unity 资源管理与更新

时间:2014-11-26 14:01:57      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:android   blog   http   io   ar   使用   sp   strong   文件   

当你在 工程目录下的 Asset 文件夹中放置一个文件时(电脑上的文件夹,不是 Unity 界面中的文件夹),Unity会自动检测到一个新的文件被添加(Unity会不停地检查Assets文件夹中的内容),然后 Unity会给这个资源赋予一个资源ID。

你在 Unity编辑器中看到的资源是经过处理的,他和电脑上原始的资源文件是不同的。例如,纹理可以是Assets文件夹的一个PNG文件,但是可能在导入和处理之后被转换成一个内部格式。

 

资源使用内部格式,允许Unity保留附加数据,称为元数据

 

所有资源元数据被保存在Library文件夹

如果你在 Unity编辑器中创建文件夹,这些文件夹会被对应到实际的文件系统里。任何对文件、文件夹的删除、移动操作都应该在 Unity编辑器中进行,不可以直接在文件系统中直接做这些操作。

 

当备份一个项目时,必须备份各个项目文件夹。

资源对比/下载/更新的一个参考:

http://blog.csdn.net/janeky/article/details/17666409

 

版本控制

 

官方说明:http://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.html

1. 设置:Edit -> Project Settings -> Editor -> Version Control -> Hidden Meta Files 或者 Visible Meta Files

2. 将工程下的 Assets、Project Settings 文件夹加入版本控制即可!不需要加 Library 了。

 

动态资源加载

http://blog.csdn.net/jbjwpzyl3611421/article/details/11050731

http://blog.csdn.net/dingkun520wy/article/details/26594991

 

1. 数据(任何自定义的数据,如策划配的表)使用 SQLite (https://github.com/Busta117/SQLiteUnityKit)存在一个2进制文件 data.db 中 
1.5. 一开始, data.db 放在 Application.streamingDataPath 路径下,安装到 Android 后,这个路径会自动对应到某个路径中。
2. 但是,因为 Application.streamingDataPath 这个路径是只读的,所以,所有的东西‘后来’都存储在 Application.persistentDataPath 中(这个路径可读可写)。这样,数据其实在 streaming 和 persistent 中各有一份,自己处理一下,看是要一开始就拷贝到 persistent 变成同一份还是要怎样都可以。反正后来就只在 persistent 中处理了
【有点怪,据我所知就是这样的】
3. data.db 的写入:(更新时需要写入)使用 WWW(url) 下载,下载完后数据在内存中,然后自己使用 System.IO 写到 Application.persistentDataPath/data.db 就可以了
4. data.db 的读取:普通的读取(使用 System.IO 读取)
5. .unity3d (即 .assetbundle ) 的写入:也是用普通的写入,即 System.IO 写入
6. .unity3d (即 .assetbundle ) 的读取:使用 WWW (localpath) (用WWW才能解成Unity识别的东西)的方式从 Application.persistentDataPath 读取

7. 这2类文件都使用2进制数据求差异的方式更新(如果文件太小也可以用替换的)

Unity 资源管理与更新

标签:android   blog   http   io   ar   使用   sp   strong   文件   

原文地址:http://www.cnblogs.com/dabiaoge/p/4122943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!