Skip to content

Commit ea83d91

Browse files
LL
authored andcommitted
assetbundle
unity打包和热更新
1 parent 57215ea commit ea83d91

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Unity打包和热更新&&assetbundle
3+
date: 2016-10-20 14:44:20
4+
tags:
5+
- assetbundle
6+
categories: assetbundle
7+
---
8+
9+
# 遇到的问题
10+
11+
## 流程问题
12+
- 怎么管理资源?
13+
- 怎么划分assetbundle包?
14+
- 怎么处理依赖?
15+
- 怎么做差异/增量更新?
16+
- 怎么加载和管理assetbundle?
17+
- 环境配置
18+
19+
## 细节问题
20+
- 依赖需要按顺序加载不?
21+
不需要,保证所有依赖包能加载进来就行
22+
23+
- 怎么处理资源路径和ab的映射问题?
24+
- resources的加载是不加扩展名,而ab的加载是加扩展名,因此一开始就应该定义好路径规则,统一都传带扩展名的路径,判断是用resources加载时再动态去掉扩展名
25+
- 预设的引用太乱了,不干净,例如模型上预设又挂着特效资源,特效预设又挂着声音资源,这样会很影响到打包依赖,所以此时每种资源应该有个管理,例如特效管理和声音管理,相互之间的关联再通过配置表实现
26+
- 同个bundle中的资源同名问题?
27+
按文件夹打包,根据全路径读取是最好的,ab读取资源的路径参数有两种方式:
28+
1. 资源名(不带路径,不带扩展名,包内资源名必须唯一)
29+
2. 全路径(带路径,带扩展名)
30+
- 依赖包需不需要按顺序加载?
31+
- asset后缀文件打不进ab包?
32+
- 用#号拼出assetbundle名后,www加载会有失败
33+
- xcode是7.3,而真机是10.0,导致程序Build不进手机,而电脑又是黑苹果,升级系统会各种问题,后面查了下原来可以直接复制更高版本的xcode程序包下的高版本文件到低版本程序包里,ios的目录是:Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/,下面有各个版本的支持情况
34+
- 路径名不能有空格,不然ios读不到
35+
- 依赖不加载全,就所有资源都不能加载还是指定资源的依赖都加载了就能加载此资源?
36+
- 同个资源能同时打到不同包上吗
37+
- 更新异常处理:
38+
1. 网络挂了
39+
2. 磁盘满
40+
3. gprs网络提示
41+
- 协程处理热更新时,需要处理异常的处理,因为协程内发生异常是不影响协程外执行的
42+
43+
#
44+
- 我的mac机是64位,要选osx64平台才能打包成功
45+
- 打包时我是对resources下的文件夹移至
46+
- www加载文本文件后,用www.text访问文本内容会有编码限制。官方文档上有要求文件内容为utf8或者ascii编码,如果是其它编码格式,需要通过www.bytes转编码为string(如:System.Text.Encoding.UTF7.GetString(www.bytes)),另一个问题是,官方文档中提的utf8是不带bom的,我是用c#自带的System.Text.Encoding.UTF8写出来的文件,查了格式才知道,原来这样写出来的文件是默认带bom的,如果希望文件是无bom的utf8编码,应该自己创建(new UTF8Encoding(false))进行写入。
47+
- android streamingdatapath是在apk包里面,无法直接使用本地读取,只能通过www访问
48+
- 平台路径问题
49+
50+
# 资源目录
51+
- setting
52+
- script
53+
- shaders
54+
- audio
55+
- font
56+
- model
57+
- ui
58+
- effect
59+
- texture
60+
61+
# 资源打包
62+
## 打包策略
63+
### 整包
64+
- setting
65+
- script
66+
- shader
67+
- audio
68+
- font
69+
- ui
70+
71+
### 散包
72+
主包名与其资源目录相同,便于查找
73+
74+
1. 主包
75+
- 每个model预设
76+
- 每个特效预设
77+
- 每个UI贴图
78+
79+
2. 依赖包
80+
81+
82+
### 资源包目录结构
83+
84+
85+
# 资源更新
86+
87+
88+
# 资源加载
89+
90+
91+
# assetbundle流程
92+
- assetbundle打包
93+
- assetbundle上传
94+
- assetbunlde下载
95+
- assetbundle加载
96+
- asset加载
97+
- assetbundle卸载
98+
- www释放

0 commit comments

Comments
 (0)