asset-agent-cli
资源分组规则
- 多个同类资源可以放在一个文件夹里作为资源组,但是必须加后缀指定组的类型 "_list" 或者 "_map"
- 后续计划支持资源类型 altas,plist,spine,unity,font,bm-font
├── assets // 资源根目录(命名不限)
│ ├── loading-scene // 资源分类,可以是场景,预加载或其他
│ │ ├── texture // 纹理图片
│ │ │ ├── blast_list // _list 资源列表,如序列帧,随机列表
│ │ │ │ ├── blast001.png
│ │ │ │ └── blast002.png
│ │ │ ├── btn_map // _map 某一类资源集合,如按钮集合,武器 M468 零件资源集合
│ │ │ │ ├── copy.png
│ │ │ │ └── play.jpg
│ │ │ └── logo.png
│ │ ├── audio // 音频
│ │ │ └── hit.mp3
│ │ ├── video // 视频
│ │ │ └── intro.mp4
│ │ ├── altas // (待支持) 图集
│ │ ├── plist // (待支持) 配置文件
│ │ ├── spine // (待支持) 骨骼资源(spine or dragonbone)
│ │ ├── laya-unity // (待支持) laya-unity 插件导出的资源
│ │ ├── bm-font // (待支持) 位图字体
│ │ └── ....
│ ├── game // game
│ │ └── ....
安装
# 全局安装(推荐)
npm install @meta-adapter/asset-agent-cli -g
使用方式,可采用 cli 或者 脚本
cli 方式
# 查看配置选项
asset-agent -h
# 不依赖编辑器的引擎使用
asset-agent ./src/assets -t
# 兼容特定引擎(目前支持 layaair)
asset-agent ./bin/assets -t ./src/typings -e xxx
script 方式
- 在项目根目录下新建 asset-agent-cli.js、复制如下内容
const register = require('@meta-adapter/asset-agent-cli');
const path = require('path');
const assetsPath = path.resolve(__dirname, '../laya/assets');
const distPath = path.resolve(__dirname, '../bin');
register.once(assetsPath, distPath, {
enableType: true,
engine: 'layaair'
});
- 修改 packages.json 文件,新增如下
{
"scripts": {
"asset-cli": "node asset-agent-cli.js"
}
}
LayaAir 引擎实践
asset-agent ./bin/assets -t ./src/typings -e layaair
├── bin
│ ├── assets(文件夹命名可更改,脚本对应即可)
│ │ ├── loading-scene
│ │ │ ├── texture
│ │ │ │ └── play.jpg
│ │ │ └── audio
│ │ │ └── play.mp3
│ │ └── main-scene
│ └── ....
├── laya(编辑器资源)
│ ├── assets
│ │ ├── assets (双击设置不打包)(文件夹命名可更改,脚本对应即可。目录和 bin 目录下的保持一致,编辑器编译会做合并)
│ │ │ └── loading-scene
│ │ │ └── texture
│ │ │ └── logo.jpg
│ │ └── comp
│ └── pages
├── src
│ ├── typings
│ └── ....
└── ...