资源管理系统
2015-12-21 03:22
288 查看
一、资源打包
BuildPipeline.BuildAssetBundle资源打包参数:Determine(Object保持ID不变,用于增量发布)、ColloctDependencies(收集依赖)、Complete完全打包(该资源以完整的形式打包)
场景打包:先打包的依赖的所有资源,然后打包场景,用BuildPipeline.BuildStreamed...选项为BuildAddtionalStreamdScene,表示打包成一个流化的压缩的可用www加载的AssetBundle
资源MD值生成:使用C#MD5根据资源全局路径 生成一个哈希值byte[],串联所有byte的tostring("x2")
资源也可以通过crc来唯一标志,crc较md5耗内存和空间要少
生成资源依赖树之点名法:AssetDatabase可以返回每个资源所有依赖,通过该方法我们可以对对关联到的所有资源调用该方法,并对返回列表的每个路径点名,点名次数多的就是被嵌套依赖的资源。用依赖树来表示,点名最大的是叶子结点资源,最少的是根资源。
生成依赖树之减法:.资源的直接依赖 = 资源的全部依赖 - 资源的所有的依赖的全部依赖
自定义资源格式:资源格式的分类如:
光照贴图 纹理
音频 视频 动画 材质 动画控制器 fbx 预设 场景。
每一资源我们都通过其后缀来区分是什么格式,一种格式的资源可能会对应到多种后缀。比如纹理:.jpg、.png
依赖关系最终会生成一张依赖图,途中每个节点代表一个资源和他的依赖信息。其结构包含有:
path:路径
allDependencies:所有依赖的路径
dependencies:直接依赖的路径
formatDependencies:所有的依赖按格式分类
AB包加载完成后把它所有的资源都Load出来就可以释放掉,包括主资源和所有子资源。当然这里是指该资源只会被别的资源依赖一次,比如图集的纹理。其他资源如Material、特效的纹理因为混用比较常见,依赖关系比较复杂不能马上卸载,AB包必须和资源共存亡,否则后续依赖他的资源会丢失依赖。除非全局公用的资源,否则不要抽出来当成公用依赖打,会造成依赖关系紊乱。
BuildPipeline.BuildAssetBundle资源打包参数:Determine(Object保持ID不变,用于增量发布)、ColloctDependencies(收集依赖)、Complete完全打包(该资源以完整的形式打包)
场景打包:先打包的依赖的所有资源,然后打包场景,用BuildPipeline.BuildStreamed...选项为BuildAddtionalStreamdScene,表示打包成一个流化的压缩的可用www加载的AssetBundle
资源MD值生成:使用C#MD5根据资源全局路径 生成一个哈希值byte[],串联所有byte的tostring("x2")
资源也可以通过crc来唯一标志,crc较md5耗内存和空间要少
生成资源依赖树之点名法:AssetDatabase可以返回每个资源所有依赖,通过该方法我们可以对对关联到的所有资源调用该方法,并对返回列表的每个路径点名,点名次数多的就是被嵌套依赖的资源。用依赖树来表示,点名最大的是叶子结点资源,最少的是根资源。
生成依赖树之减法:.资源的直接依赖 = 资源的全部依赖 - 资源的所有的依赖的全部依赖
自定义资源格式:资源格式的分类如:
光照贴图 纹理
音频 视频 动画 材质 动画控制器 fbx 预设 场景。
每一资源我们都通过其后缀来区分是什么格式,一种格式的资源可能会对应到多种后缀。比如纹理:.jpg、.png
依赖关系最终会生成一张依赖图,途中每个节点代表一个资源和他的依赖信息。其结构包含有:
path:路径
allDependencies:所有依赖的路径
dependencies:直接依赖的路径
formatDependencies:所有的依赖按格式分类
AB包加载完成后把它所有的资源都Load出来就可以释放掉,包括主资源和所有子资源。当然这里是指该资源只会被别的资源依赖一次,比如图集的纹理。其他资源如Material、特效的纹理因为混用比较常见,依赖关系比较复杂不能马上卸载,AB包必须和资源共存亡,否则后续依赖他的资源会丢失依赖。除非全局公用的资源,否则不要抽出来当成公用依赖打,会造成依赖关系紊乱。
相关文章推荐
- aopalliance.jar的用途
- LeetCode - Swap Nodes in Pairs
- poj-1979改-红与黑
- centos7-uninstall vmware
- python计算分位数
- android 滑动返回效果
- 普法知识(44):落实谁办案谁负责
- 期末总结
- linux => Ubuntu 14.04 Web服务器--Apache的安装和配置
- 节点共享型HFSM设计
- rabbitmq
- Word2vec 句向量模型PV-DM与PV-DBOW原论文翻译
- Ubuntu 13.04 安装 VMware Tools,解决无法找到kernel header path的问题
- [AngularJS] Exploring the Angular 1.5 .component() method
- linux => Ubuntu 安装mysql和简单操作
- 关于定位的 NSLocationWhenInUseUsageDescription
- linux => Ubuntu 14.04数据库服务器--mysql的安装和配置
- Paint---Xfermode、 PixelXorXfermode
- Windows XP安装CentOS 7.0 后开机没有XP启动项解决办法
- python模块