• Unity资源管理与更新


    当你在 工程目录下的 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进制数据求差异的方式更新(如果文件太小也可以用替换的)
  • 相关阅读:
    .NET2.0基础类库中的范型——FunctionalProgramming
    原则
    080711 30℃
    关于mcp
    080714 33℃
    080715 31℃
    080716 30℃
    11号
    iOS-调用系统的短信和发送邮件功能,实现短信分享邮件分享
    UIView总结
  • 原文地址:https://www.cnblogs.com/answerwinner/p/3798806.html
Copyright © 2020-2023  润新知