feat(kite): 完善风筝回合动态表现

This commit is contained in:
2026-07-16 17:53:08 +08:00
parent 85de341cd2
commit f0a92553fb
2 changed files with 119 additions and 42 deletions
+11 -12
View File
@@ -63,37 +63,36 @@ Kite MaskSpriteMask,以底图为形状,风筝层被裁在天空范围内
| `taut` | 猛地扯直,然后绷住小幅慢速拉锯(不是震动) | 线绷紧、风大顶线 |
| `drop` | 猛地下坠(比 sink 更快更急) | 风筝真的掉下去了 |
| `flutter` | 左右交替的几下小拉扯,力度递减 | 保持不动、原地挣扎 |
| `wrench` | 被阵风猛地拽向一侧,停顿后回正 | 强乱流、角色被风筝拖拽 |
轱辘特写(`D2S轱辘`)不属于这套 Rig,仍用旧的 `<<show_sprite_motion "D2S轱辘" "reel_tension" duration>>`,动效在 `SpriteShowcase.PlaySmallMotion` / `PlayReelHold` 里维护:先被猛地拽进受力姿态(只进一次),之后绷在那里持续高频颤抖,偶尔再被拽深一点——是“全力拉住”的发力感,不会松回原位。
## 典型用法模式
### 1. 进入风筝段落`kite_show`
### 1. 进入或恢复风筝回合`kite_show`
```yarn
<<if $t==0>>
<<fade_in 1>>
<<kite_show 1 0 0.35>>
<<fade_out 1>>
<<set $wind=1>>
<<kite_show {$h} {$wind} 0.35>>
<<kite_wind {$wind} 0>>
```
首次显示传初始高度/风向,乱度自动是平稳的
`kite_show` 是幂等的,因此每次进入节点都调用一次:正常回跳时用于同步高度,测试存档直接进入中间回合时则负责创建 Rig。它会重置乱度,所以后面必须紧跟该回合的 `kite_wind`
### 2. 每轮风况变化:先 `kite_wind` 让画面 telegraph,再给选项
`风筝2` 节点里,每次 `<<set $wind=...>>` 之后紧跟一次 `kite_wind`,选项出现前画面已经在演风况了:
`风筝1` / `风筝2` 节点里,每次 `<<set $wind=...>>` 之后紧跟一次 `kite_wind`,选项出现前画面已经在演风况了:
```yarn
<<elseif $t==5>>
<<elseif $t==2>>
<<set $wind=1>>
<<kite_wind {$wind} 0.55>>
me: 风…好像停了。好像…没有什么规律。 #line:0c86a64
...
风忽紧忽慢,杂乱无章…像是有很多声音,又像都只是噪声……
<<kite_accent flutter>>
风筝开始抖动起来。手上感受到的拉力变大、变乱了。 #line:09afac0
手里的线猛地收紧了。然后又被猛地松开,像潮汐一样,像…
```
**乱度取值要对着台词**:台词说“平稳/懒洋洋”就不传乱度(或传 0);台词明确说“乱”“没有规律”“胡乱刮着”才传正数,且数值随描述的混乱程度递增(本节点里 0.55 → 0.8 → 0.95 → 1逐轮加码
**乱度取值要对着台词**:台词说“平稳/懒洋洋”就`0`;出现“粗重、杂乱”时使用 `0.4~0.55`;进入盘旋上升和失控段后按 `0.8 → 0.95 → 1` 逐轮加码。文本在同一回合中由乱转稳时,再调用一次 `kite_wind` 清零乱度
### 3. 选项分支:`kite_state` 是主反馈,`kite_accent` 是点缀