YooAsset/Docs/AssetCollector.md

78 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 资源收集
![image](https://github.com/tuyoogame/YooAsset/raw/main/Docs/Image/AssetCollector-img1.jpg)
### 界面介绍
- **着色器收集**
勾选收集所有着色器复选框后打包系统会自动收集所有依赖的材质球使用的着色器并将这些着色器打进一个AssetBundle文件内。
- **Directory**
收集的资源目录,目录下的所有文件将会根据打包规则和过滤规则进行打包。
- **PackRule**
打包规则,规则可以自定义扩展。下面是内置的打包规则:
- PackExplicit 目录下的资源文件会各自打进自己的资源包里。
- PackDirectory 目录下的资源文件会被打进一个资源包里。
- PackRawFile 目录下的资源文件会被处理为原生资源包。
````c#
//自定义扩展范例
public class PackDirectory : IPackRule
{
string IPackRule.GetAssetBundleLabel(string assetPath)
{
return Path.GetDirectoryName(assetPath); //"Assets/Config/test.txt" --> "Assets/Config"
}
}
````
- **FilterRule**
过滤规则,规则可以自定义扩展。下面是内置的过滤规则:
- CollectAll 收集目录下的所有资源文件
- CollectScene 只收集目录下的场景文件
- CollectPrefab 只收集目录下的预制体文件
- CollectSprite 只收集目录下的精灵类型的文件
````c#
//自定义扩展范例
public class CollectScene : IFilterRule
{
public bool IsCollectAsset(string assetPath)
{
return Path.GetExtension(assetPath) == ".unity";
}
}
````
- **DontWriteAssetPath**
资源目录下的资源对象不写入清单
- **AssetTags**
资源标签列表(多个标签使用分号间隔)
### 配置表
点击Import按钮可以导入外部的XML配置表配置表规范如下图
````xml
<root>
<Collector Directory="Assets/GameRes/UIAtlas/" PackRule="PackExplicit" FilterRule="CollectAll" DontWriteAssetPath="0" AssetTags=""/>
<Collector Directory="Assets/GameRes/UIPanel/" PackRule="PackExplicit" FilterRule="CollectAll" DontWriteAssetPath="0" AssetTags=""/>
</root>
````