2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
5.6 KiB
Markdown

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.

# 怪物制作文档
## 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` 下新建文件夹,名字为新怪物的名字,例如:
![image-20220414005433960](assets/image-20220414005433960.png)
### 2.基础移动动画组
基础动画组包含除了技能之外的所有动画。包括待机、移动、受击、死亡等。所有角色公用一个动画状态机,通过自动生成的方式覆盖默认动画。基础移动动画文件从已有的模板文件复制并修改。
1. 复制模板 `arts\character\basic\move.aseprite` 到新建文件夹:
![image-20220414005530051](assets/image-20220414005530051.png)
2. 编辑`move.aseprite`:
![image-20220414005818976](assets/image-20220414005818976.png)
原则上只需要保证不修改已有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`里面定义的生成路径。
![image-20220414011130407](assets/image-20220414011130407.png)
4. 运行动画生成和绑定的unity内置工具
![image-20220414011224574](assets/image-20220414011224574.png)
这样就会自动切图,并且在对应目录生成`.anim`文件。
### 3.技能动画组
新建`.aseprite`文件把对应的动画片段设置tag。导出的时候会按tag一起导出到对应目录。
![image-20220414011429425](assets/image-20220414011429425.png)
tag命名规则同基础移动动画组。对图层、帧数都没有要求。
## 3.配置档
在draft对应目录位置创建怪物实体。建议直接复制已有的来修改。
![image-20220414011634899](assets/image-20220414011634899.png)
单从动画上需要修改的配置项有:
![image-20220414011711465](assets/image-20220414011711465.png)
`动画`即导出动画文件的目录。
`外观Y轴偏移`即控制怪物动画贴地的偏移值。计算方式为:
1. sprite居中显示默认贴地。所以需要向上偏移
2. 规定的ppu为64每1个unity距离单位显示64个像素。也就是说如果要向上偏移24像素需要填 24/64 = 0.375
![image-20220414012134976](assets/image-20220414012134976.png)
## 4.配置档导出
1. 导出draft
![image-20220414012227303](assets/image-20220414012227303.png)
第一次导出需要设置导出路径,之后都可以快速导出:
![image-20220414012256795](assets/image-20220414012256795.png)
2. 点回unity窗口进入一个自动导入的过程 。成功或失败都会在控制台有打印。
![image-20220414012337225](assets/image-20220414012337225.png)
![image-20220414012402990](assets/image-20220414012402990.png)
3. 如果导出失败(比如修改了结构导致编译失败),则解决错误之后手动导出:
![image-20220414012545838](assets/image-20220414012545838.png)
## 5.测试
1. 进入游戏后按回车键呼出GM界面
2. 选择右方的Battle按钮
3. 点击创建xx怪的按钮就可以创建出对应怪物。
![image-20220414012729609](assets/image-20220414012729609.png)
![image-20220414012737865](assets/image-20220414012737865.png)