mirror of https://github.com/tuyoogame/YooAsset
Update README.md
parent
fc4fa9df79
commit
84b6c960e9
100
README.md
100
README.md
|
@ -1 +1,101 @@
|
||||||
# YooAsset
|
# YooAsset
|
||||||
|
YooAsset是基于Unity3D引擎的资源管理插件。
|
||||||
|
|
||||||
|
# 支持版本
|
||||||
|
Unity2018.4 && Unity2019.4 && Unity2020.3
|
||||||
|
|
||||||
|
# 开发环境
|
||||||
|
C# && .Net4.x
|
||||||
|
|
||||||
|
# 特点
|
||||||
|
#### 强大灵活的打包系统
|
||||||
|
可以自定义打包策略,可以自定义冗余规则,自动分析依赖实现资源零冗余,基于资源对象的资源包依赖管理方案,避免了资源包之间循环依赖的问题。
|
||||||
|
|
||||||
|
#### 安全高效的分包方案
|
||||||
|
基于资源对象的标签分包方案,自动对依赖资源包进行分类,避免人工维护成本。可以非常方便的实现零资源安装包,或者全量资源安装包。
|
||||||
|
|
||||||
|
#### 灵活高效的加密方案
|
||||||
|
提供多种加密策略,可以自定义加密规则,基于Unity官方的高效解密方案。
|
||||||
|
|
||||||
|
#### 基于引用计数方案
|
||||||
|
基于引用技术的资源管理方案,可以帮助我们实现安全的资源卸载策略,更好的对内存管理,避免资源对象冗余。还有强大的分析器可帮助发现潜在的资源泄漏问题。
|
||||||
|
|
||||||
|
#### 多种模式自由切换
|
||||||
|
编辑器模拟模式,单机运行模式,联机运行模式。在编辑器模拟模式下,可以不构建资源包来模拟线上环境,在不修改任何代码的情况下,可以自由切换到其它模式。
|
||||||
|
|
||||||
|
#### 强大安全的加载系统
|
||||||
|
1. **异步加载和同步加载** 异步加载接口支持协程,Task,委托。支持异步加载和同步加载混合使用。
|
||||||
|
2. **边玩边下载** 在加载资源对象的时候,如果资源对象依赖的资源包在本地不存在,会自动从服务器下载到本地,然后再加载资源对象。
|
||||||
|
3. **多线程下载** 支持断点续传,自动验证下载文件,自动修复损坏文件。可以自定义下载失败重试次数,下载超时判定时间。
|
||||||
|
4. **多功能下载器** 可以按照资源标签列表创建下载器,也可以按照资源对象列表创建下载器。下载器可以设置同时下载文件数的限制,设置下载失败重试次数,多个下载器同时下载不用担心文件重复下载问题,下载器还提供了下载进度以及下载失败异常等常用接口。
|
||||||
|
|
||||||
|
#### 原生格式文件管理
|
||||||
|
无缝衔接资源打包系统,可以很方便的实现原生文件的版本管理和下载。
|
||||||
|
|
||||||
|
#### 灵活多变的版本管理
|
||||||
|
支持线上版本快速回退,支持区分审核版本,测试版本,线上版本,支持灰度更新及测试。
|
||||||
|
|
||||||
|
|
||||||
|
# 教程
|
||||||
|
#### 加载路径的匹配方式
|
||||||
|
````C#
|
||||||
|
// 不带扩展名的模糊匹配
|
||||||
|
YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic");
|
||||||
|
|
||||||
|
// 带扩展名的精准匹配
|
||||||
|
YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic.mp3");
|
||||||
|
````
|
||||||
|
|
||||||
|
#### 异步加载
|
||||||
|
````C#
|
||||||
|
// 委托加载方式
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
AssetOperationHandle handle = YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic.mp3");
|
||||||
|
handle.Completed += Handle_Completed;
|
||||||
|
}
|
||||||
|
void Handle_Completed(AssetOperationHandle handle)
|
||||||
|
{
|
||||||
|
if(handle.AssetObject == null) return;
|
||||||
|
AudioClip audioClip = handle.AssetObject as AudioClip;
|
||||||
|
}
|
||||||
|
````
|
||||||
|
````C#
|
||||||
|
// 协程加载方式
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
this.StartCoroutine(AsyncLoad());
|
||||||
|
}
|
||||||
|
IEnumerator AsyncLoad()
|
||||||
|
{
|
||||||
|
AssetOperationHandle handle = YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic.mp3");
|
||||||
|
yield return handle;
|
||||||
|
AudioClip audioClip = handle.AssetObject as AudioClip;
|
||||||
|
}
|
||||||
|
````
|
||||||
|
````C#
|
||||||
|
// Task加载方式
|
||||||
|
async void Start()
|
||||||
|
{
|
||||||
|
await AsyncLoad();
|
||||||
|
}
|
||||||
|
async Task AsyncLoad()
|
||||||
|
{
|
||||||
|
AssetOperationHandle handle = YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic.mp3");
|
||||||
|
await handle.Task;
|
||||||
|
AudioClip audioClip = handle.AssetObject as AudioClip;
|
||||||
|
}
|
||||||
|
````
|
||||||
|
|
||||||
|
#### 资源卸载
|
||||||
|
````C#
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
AssetOperationHandle handle = YooAssets.LoadAssetAsync<AudioClip>("Audio/bgMusic.mp3");
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
// 卸载资源
|
||||||
|
handle.Release();
|
||||||
|
}
|
||||||
|
````
|
Loading…
Reference in New Issue