diff --git a/Docs/HuoShan/LogReleaseYarnCommands.md b/Docs/HuoShan/LogReleaseYarnCommands.md index a8ea73306..6c0a73660 100644 --- a/Docs/HuoShan/LogReleaseYarnCommands.md +++ b/Docs/HuoShan/LogReleaseYarnCommands.md @@ -9,21 +9,37 @@ | 命令 | 参数 | 行为 | |---|---|---| | `expression_face_fade_in` | `duration` | 显式淡入火山脸并等待完成。三条 LOG 都在完成节点中调用,不再由粒子系统自动淡入。 | -| `expression_actor_flash` | `"text" holdDuration` | 清晰的大字重击;三次连续调用会逐级增强,并由第三次直接衔接中央大字过载。 | -| `expression_actor_slot` | `"characterPool" duration interval` | 中央大字持续换字。命令不等待,节奏由紧随其后的同长度 `wait` 控制;结束后停在最后一帧。 | +| `expression_actor_flash` | `"text" holdDuration` | 清晰的大字重击;连续调用会逐级增强,但每次结束都退回晃动粒子字。 | +| `expression_actor_flash_in` | 与 `expression_actor_flash` 相同 | 阻塞播放相同的大字重击入场,但保持最后一帧、不退场;用于段落结尾定格。 | +| `expression_actor_flash_loop_start` | 无 | 非阻塞启动“没问题 → 冇问题 → 帽问题”三拍无限循环,参数固定为 LOG1 当前节奏。 | +| `expression_actor_flash_loop_stop` | 无 | 立即停止循环、清掉当前大字并恢复晃动粒子字。 | +| `expression_actor_slot` | `"characterPool" duration interval fontSize "truthPool"` | 中央大字持续换字。`truthPool` 非空时其字符也混入换字池,并在主字上以真话暖色(`truthAccentColor`)显示——真假字符交替闪烁即"争夺"。命令不等待,节奏由紧随其后的同长度 `wait` 控制;结束后停在最后一帧。 | +| `expression_actor_truth_flash` | `"text" holdDuration fontSize alpha jitter` | 真话闪现(等待):谎话大字之间,暖色完整真话带细微抖动挣扎浮现一拍。不推进谎话冲击等级、不累积记忆损伤;"被掐断"由紧随其后的 `expression_glitch_pulse` 表现。 | | `expression_actor_word_hit` | `"text" holdDuration` | 单字或短词独占屏幕重击,并等待该拍完成。 | | `expression_actor_scroll` | `"phrase1|phrase2" scrollDuration loopDuration holdDuration` | 多列词组在火山脸范围内无缝向下滚动;移动结束后定格 `holdDuration`,再清理并继续 Yarn。 | -LOG1 结尾示例: +LOG1 爆发段示例(对话推动:乱码台词 → 聚拢被打断 → 疯狂闪切 → glitch 翻转成真话): ```yarn -<> -<> -<> -<> -<> -<> -<> +hs: 我感觉■■■■■■ +<> +<> +<> +<> +hs: ……我感觉自己■■■■ +... +hs: 我感觉自己……像个■■ +<> +<> +<> +<> +<> +... +<> +<> +<> +<> +<> ``` ## 谎话形成 @@ -60,6 +76,28 @@ LOG1 结尾示例: | `expression_system_message` | `"text" "normal/error" fadeDuration` | 显示屏幕系统提示。样式忽略大小写。 | | `expression_system_message_hide` | `fadeDuration` | 淡出系统提示;命令不等待。 | +## 记忆显影与轻微失真 + +`expression_memory_begin` 非阻塞启动记忆画面:SpriteRenderer 在对白继续执行的同时从 0 平滑淡入到 1,并按 `pushSpeed` 持续推近,基础层不再横移。记忆预设由图片自动选择(`office / sunset / private_office` 分别对应轻 / 中 / 重),Yarn 不再传预设名。Shader 的 `_SimGlitch` 保留轻微 UV 波动和偶发窄行滑移。争夺真话/假话时,`expression_memory_jolt`、`expression_memory_tear`、`expression_actor_flash` 带来的拉扯、切片、冲击和 Glitch 仍叠加在基础层之上。 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_memory_sim` | `target duration` | 把模拟感调到目标值;命令不等待。用于演出中微调,进入记忆时无需调用。 | +| `expression_memory_alpha` | `target duration` | 把当前记忆透明度推进到 `target`;命令不等待,适合放在对白之间逐段显影。 | + +## LOG1 爆发段:玩家推动的真假争夺 + +爆发段由对话推进驱动:火山每句台词里"想说的部分"是乱码黑块(Text Animator 内联标签,如 `■■■■`),玩家点击推进后目标字聚拢、似乎要说出来,又被谎话大字砸断炸散。三次递进(聚合目标 0.55 → 0.72 → 0.92)后进入乱码块与"没问题"的疯狂闪切,最后停在"没问题",由 glitch 翻转成真话。 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_truth_gather` | `target duration` | 真话聚合尝试(不等待):目标字被慢慢拉向最终位置、乱跳收敛,并按字序逐个锁定成真心话字符。`target<1` 时最后几个字永远差一点锁不住(锁字判定用原始进度,阈值 0.45~0.95 阶梯)。 | +| `expression_truth_scatter` | `burst` | 聚合被打断(不等待):目标字向外爆散(世界单位距离)并恢复乱跳、解除已锁定字符。谎话 flash 期间粒子隐藏,所以要放在 flash 命令之后,让字符"带着爆散重现"。 | +| `expression_face_error` | `duration intensity` | 火山脸错误闪红(不等待):短暂替换为红屏 Sprite,随后恢复,并轻微下沉。`intensity` 为旧脚本兼容参数。 | +| `expression_truth_lie_flicker` | `"lie1\|lie2" "censored" duration interval fontSize` | 快速真假闪切(不等待,节奏由同长度 `wait` 控制):乱码块(暖色字+暖底色)与谎话(冷白字+冷底色)交替独占屏幕,越到后面切得越快,**结束定格在第一条谎话**。底色即"电视头背景",在 Inspector 的 `truthBackdropColor` / `lieBackdropColor` 调。 | +| `expression_lie_morph_truth` | `"lie" "truth" duration` | 定格的谎话被 glitch 翻转成真话(等待):大字乱跳中长度从谎话渐变到真话、真假底色抢闪,最后落在暖色真话并轻微收缩定住。紧接 `expression_memory_cut` + `expression_truth_snap`,说出口的那一刻其余效果全部消失。 | +| `expression_truth_blackout` | `duration alpha` | 顿挫黑一拍(等待):停掉闪切、隐藏大字并保持黑场。当前 LOG1 未使用,保留备用。 | + 停顿时长直接写成 Yarn 的 `wait`,因此每段不再受预设黑盒限制: ```yarn @@ -115,13 +153,16 @@ LOG1 结尾示例: ## LOG1 可调参数 ```yarn -<> -<> +<> +<> +<> <> <> ``` -- `expression_memory_begin` 后三个数依次为淡入时长、持续推进速度、水平移动速度。 +- `expression_memory_begin` 参数依次为记忆图、淡入时长、持续推进速度、旧水平速度、是否保留 Glitch、目标 Alpha。LOG1 使用 `2.2 / 0.012 / 0 / false / 1`,一次连续淡入,不再按对白阶梯式补透明度。 +- LOG1 不再使用全屏噪声 glitch:`expression_actor_flash` 的最后一个参数(Glitch 峰值)传 0。 +- `expression_actor_truth_flash` 后续参数依次为停留、字号、透明度、抖动幅度。 - `expression_actor_flash` 后续参数依次为停留、字号、落定缩放、冲击缩放、色散距离、色散透明度、记忆冲击、Glitch 峰值。 - `expression_actor_word_hit` 最后两个数是字号和冲击缩放。 - `expression_actor_scroll` 最后一个数是字号。滚动固定为单列,并严格裁切在 `ExpressionScreenMaskRect` 内;新字幕按给定词组顺序从上方循环补入。