添加精灵相关内容

This commit is contained in:
OLDREDSTONE
2025-10-18 14:10:53 +08:00
parent 96a90c364d
commit 90af884c2c
3 changed files with 45 additions and 21 deletions
+29 -5
View File
@@ -102,13 +102,14 @@
里面是对每个表情分别进行设置。
- **`"name"`**
后续出现的name指的是人物的各个表情,
以下四个表情是默认存在的,因为和按拍效果有关,但你也可以在此基础上增加新的表情,自己命名一个其他表情,这会在紫色版块**播放表情**中有效。
以下四个表情是默认存在的,因为和按拍效果有关,但你也可以在此基础上增加新的表情,自己命名一个其他表情,这会在紫色版块**播放表情**中有效。
- `neutral` 表示普通状态下的默认表情,
- `happy` 是**击中**时的表情,
- `barely` 是**失误**的表情,
- `missed` 是**错失**的表情。
> `neutral` 表情是**必需**的,无论是轨道角色还是精灵资源。
在早期,以上四个表情在轨道角色上时也是必需的,不过在后来的版本中移除了其他三个表情的限制。
此字段需要满足[这些要求](../pages/spritesheet.md#自定义角色的表情机制)。
- **`"frames"`**
这是每种状态所涉及的帧数。在精灵图里从左往右,从0开始计算。例如:
- `[0,1]`:第1张和第2张组合成两帧的动图;
@@ -130,11 +131,33 @@
- **`"portaitSize"`**
截取动图中的一部分作为显示对话时的立绘,两个数字表示截取立绘图片的像素大小。第一个数字为立绘的宽度,第二个数字为立绘的高度。
- **`"portaitScale"`**
图片放大比例,这是显示对话时的立绘用的,因为立绘画面一般都只是人物的头部和上身,且立绘窗口也比较大,这里最好填写大于1的数字。
图片放大比例,这是显示对话时的立绘用的,因为立绘画面一般都只是人物的头部和上身,且立绘窗口也比较大,这里最好填写大于1的数字。
## 回到编辑器添加人物
## 自定义角色的音效
一切准备就绪,现在进入编辑器添加一个人物,然后在人物设置里面点一下文件夹图标,选择刚才我们写好的.json文件。
游戏在运行到**显示对话**事件时,如果遇到对应的表情 [ID](../pages/spritesheet.md#自定义角色的表情机制) 时,会尝试:
- 寻找此自定义角色的同名 ID 音频文件
- 若无,寻找此自定义角色的默认 ID 音频文件
- 若无,设为默认对话音频文件。
游戏会尝试在对话框内每弹出一个字就播放一次。
## 自定义角色的表情机制
一个自定义角色可以拥有多个表情,每个表情都对应一个 ID,
为便于理解,这里假设我们的精灵名为 `吾夜犹明`
ID 的规则如下:
- `neutral` 表情对应无后缀的精灵名,即 `吾夜犹明`
- 其他表情对应 `[精灵名]_[表情名]`,例如 `happy` 对应 `吾夜犹明_happy`
此规则会影响**显示对话**事件的角色表情选取和音效文件选取。
这也是为什么表情名不能含有 `_` 和文件名不合法字符。
## 回到编辑器添加自定义角色
一切准备就绪,现在进入编辑器添加一个自定义角色,然后在人物设置里面点一下文件夹图标,选择刚才我们写好的.json文件。
![](../images/spritesheet-openfile.png)
@@ -155,7 +178,8 @@
## 选择立绘
在[这里](../pages/captions.md#显示对话)我们已经提到过,显示对话的对话框中手动写下立绘名字也是可以插入立绘的。如果我们在这里导入一个文件名为“吾夜犹明”的猫猫,然后在对话框的开头写下`吾夜犹明:`,那么播放的立绘就是默认的neutral那一项。**依然需要注意是英文的冒号**。如果想要选择其他表情作为立绘,需要额外写一个下划线,后面加上表情名,例如`吾夜犹明_happy:``吾夜犹明_barely:``吾夜犹明_missed:`
在[这里](../pages/captions.md#显示对话)我们已经提到过,显示对话的对话框中手动写下立绘名字也是可以插入立绘的。如果我们需要让对话显示立绘,需要在一行中输入 `[表情 ID]:[对话内容]`。表情格式见[表情 ID](../pages/spritesheet.md#自定义角色的表情机制)。
例如 `吾夜犹明_happy:今天真是美好的一天。`
如果我们在json文件中自己添加了名为`Error`自定义表情,例如: