|
|
# 怪物制作文档
|
|
|
|
|
|
## 1.动画导出配置
|
|
|
|
|
|
编辑 `arts\character\config.json`如下:
|
|
|
|
|
|
```
|
|
|
{
|
|
|
"ASEPRITE_PATH": "D:/Steam/steamapps/common/Aseprite/aseprite.exe",
|
|
|
"TARGET_DIR": "E:/Mahogany/client/Assets/Resources/Character/",
|
|
|
"END_PAUSE": false
|
|
|
}
|
|
|
```
|
|
|
|
|
|
| 字段 | 含义 |
|
|
|
| ------------- | --------------------------------------- |
|
|
|
| ASEPRITE_PATH | 本机 aseprite.exe 的路径 |
|
|
|
| TARGET_DIR | 本机 client/Assets/Resources/Character/ |
|
|
|
| END_PAUSE | 是否完成后按任意键关闭,false为自动关闭 |
|
|
|
|
|
|
## 2.动画文件
|
|
|
|
|
|
### 1.创建文件夹
|
|
|
|
|
|
在 `arts\character\monster` 下新建文件夹,名字为新怪物的名字,例如:
|
|
|
|
|
|

|
|
|
|
|
|
### 2.基础移动动画组
|
|
|
|
|
|
基础动画组包含除了技能之外的所有动画。包括待机、移动、受击、死亡等。所有角色公用一个动画状态机,通过自动生成的方式覆盖默认动画。基础移动动画文件从已有的模板文件复制并修改。
|
|
|
|
|
|
1. 复制模板 `arts\character\basic\move.aseprite` 到新建文件夹:
|
|
|
|
|
|

|
|
|
|
|
|
2. 编辑`move.aseprite`:
|
|
|
|
|
|

|
|
|
|
|
|
原则上只需要保证不修改已有tag即可。可以任意修改帧数、图层等。
|
|
|
|
|
|
Layer2是基础测试怪的动画,可以作为动画参考。
|
|
|
|
|
|
Layer3是背景,原则上不需要保证动画的地面高度和示例一致,可以通过配置来修改高度。
|
|
|
|
|
|
各个tag的含义:
|
|
|
|
|
|
| tag | 含义 |
|
|
|
| ------------ | -------------------------- |
|
|
|
| idle | 待机 |
|
|
|
| run1 | 起跑动作 |
|
|
|
| run2_loop | 奔跑循环动作 |
|
|
|
| run3 | 停止奔跑动作 |
|
|
|
| jump1 | 起跳准备 |
|
|
|
| jump2_loop | 跳跃上升 |
|
|
|
| jump3 | 跳跃到最高点的过渡动作 |
|
|
|
| jump4_loop | 跳跃下降 |
|
|
|
| jump5 | 落地 |
|
|
|
| hit1 | 受击开始 |
|
|
|
| hit2_loop | 受击持续、硬直 |
|
|
|
| hit3 | 受击恢复 |
|
|
|
| die1 | 死亡动画 |
|
|
|
| die2_loop | 死亡最后的静止动作 |
|
|
|
| airhit1 | 空中受击开始 |
|
|
|
| airhit2_loop | 空中受击上升 |
|
|
|
| airhit3 | 空中受击到最高点的过渡动作 |
|
|
|
| airhit4_loop | 空中受击下落 |
|
|
|
| airhit5 | 空中受击落地 |
|
|
|
| airhit6_loop | 倒地状态 |
|
|
|
| airhit7 | 倒地起身 |
|
|
|
| rebound | 击落触地反弹 |
|
|
|
|
|
|
tag不用修改。后续有修改的话需要注意命名规则:
|
|
|
|
|
|
1. 下划线`_`开头的不会导出
|
|
|
2. `_loop`结尾的生成的动画是循环的
|
|
|
|
|
|
如果初期版本比较简单不分图层,可以在body层画。导出的时候会导出所有可见图层,所以需要提前隐藏Layer2和Layer3。
|
|
|
|
|
|
3. 运行导出脚本
|
|
|
|
|
|
双击`exportAll.exe`即可。生成的动画会按目录保存在`config.json`里面定义的生成路径。
|
|
|
|
|
|

|
|
|
|
|
|
4. 运行动画生成和绑定的unity内置工具
|
|
|
|
|
|

|
|
|
|
|
|
这样就会自动切图,并且在对应目录生成`.anim`文件。
|
|
|
|
|
|
### 3.技能动画组
|
|
|
|
|
|
新建`.aseprite`文件,把对应的动画片段设置tag。导出的时候会按tag一起导出到对应目录。
|
|
|
|
|
|

|
|
|
|
|
|
tag命名规则同基础移动动画组。对图层、帧数都没有要求。
|
|
|
|
|
|
## 3.配置档
|
|
|
|
|
|
在draft对应目录位置创建怪物实体。建议直接复制已有的来修改。
|
|
|
|
|
|

|
|
|
|
|
|
单从动画上需要修改的配置项有:
|
|
|
|
|
|

|
|
|
|
|
|
`动画`即导出动画文件的目录。
|
|
|
|
|
|
`外观Y轴偏移`即控制怪物动画贴地的偏移值。计算方式为:
|
|
|
|
|
|
1. sprite居中显示,默认贴地。所以需要向上偏移
|
|
|
|
|
|
2. 规定的ppu为64,即:每1个unity距离单位显示64个像素。也就是说,如果要向上偏移24像素,需要填 24/64 = 0.375
|
|
|
|
|
|

|
|
|
|
|
|
## 4.配置档导出
|
|
|
|
|
|
1. 导出draft
|
|
|
|
|
|

|
|
|
|
|
|
第一次导出需要设置导出路径,之后都可以快速导出:
|
|
|
|
|
|

|
|
|
|
|
|
2. 点回unity窗口,进入一个自动导入的过程 。成功或失败都会在控制台有打印。
|
|
|
|
|
|

|
|
|
|
|
|

|
|
|
|
|
|
3. 如果导出失败(比如修改了结构导致编译失败),则解决错误之后手动导出:
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
## 5.测试
|
|
|
|
|
|
1. 进入游戏后按回车键呼出GM界面
|
|
|
|
|
|
2. 选择右方的Battle按钮
|
|
|
|
|
|
3. 点击创建xx怪的按钮,就可以创建出对应怪物。
|
|
|
|
|
|

|
|
|
|
|
|
 |