From 075d978b4d2ac399407554295f246479e5e2162d Mon Sep 17 00:00:00 2001 From: bottlefish <781230111@qq.com> Date: Thu, 23 Jul 2026 18:54:46 +0800 Subject: [PATCH] =?UTF-8?q?docs(huoshan):=20=E8=A1=A5=E5=85=85Log=E9=87=8A?= =?UTF-8?q?=E6=94=BEYarn=E5=91=BD=E4=BB=A4=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- Docs/HuoShan/LogReleaseYarnCommands.md | 127 +++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 Docs/HuoShan/LogReleaseYarnCommands.md diff --git a/Docs/HuoShan/LogReleaseYarnCommands.md b/Docs/HuoShan/LogReleaseYarnCommands.md new file mode 100644 index 000000000..a8ea73306 --- /dev/null +++ b/Docs/HuoShan/LogReleaseYarnCommands.md @@ -0,0 +1,127 @@ +# 火山 Log 释放 Yarn 演出命令 + +`Stage6.yarn` 已改为使用原子命令编排。除特别标记为“等待”的命令外,命令只启动效果并立即让 Yarn 继续;并行效果之间的节奏用 `<>` 调整。 + +旧命令 `expression_lie_begin`、`expression_lie_break`、`expression_truth_reveal` 仍然保留,供其他节点兼容使用。Stage6 不再依赖它们。 + +## 火山脸与 LOG1 大字 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_face_fade_in` | `duration` | 显式淡入火山脸并等待完成。三条 LOG 都在完成节点中调用,不再由粒子系统自动淡入。 | +| `expression_actor_flash` | `"text" holdDuration` | 清晰的大字重击;三次连续调用会逐级增强,并由第三次直接衔接中央大字过载。 | +| `expression_actor_slot` | `"characterPool" duration interval` | 中央大字持续换字。命令不等待,节奏由紧随其后的同长度 `wait` 控制;结束后停在最后一帧。 | +| `expression_actor_word_hit` | `"text" holdDuration` | 单字或短词独占屏幕重击,并等待该拍完成。 | +| `expression_actor_scroll` | `"phrase1|phrase2" scrollDuration loopDuration holdDuration` | 多列词组在火山脸范围内无缝向下滚动;移动结束后定格 `holdDuration`,再清理并继续 Yarn。 | + +LOG1 结尾示例: + +```yarn +<> +<> +<> +<> +<> +<> +<> +``` + +## 谎话形成 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_lie_prepare` | `freezeDuration noiseTarget` | 在指定时间内停止记忆推近/横移,并将记忆噪声降到目标值。进入谎话状态。 | +| `expression_truth_squeeze` | `duration jitter alpha` | 将原始真话字符挤到屏幕边缘;`jitter` 控制边缘抖动幅度,`alpha` 控制字符亮度。 | +| `expression_lie_show` | `"keyword" duration characterSpacing` | 从压扁、拥挤状态机械展开谎话关键词。`characterSpacing` 是最终 TMP 字距。 | +| `expression_lie_shuffle` | `"characterPool" duration interval` | 只在谎话关键词现有字符槽位里高速替换字符,不增加新字符。命令不等待。 | +| `expression_scanline` | `duration stalled` | 扫描线。`stalled=false` 时完整扫过,`true` 时停在屏幕中部并跳闪。 | + +示例: + +```yarn +<> +<> +<> +<> +<> +<> +<> +<> +``` + +## 谎话开裂与泄漏 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_lie_crack_begin` | `lieAlpha` | 进入开裂状态并压暗谎话。 | +| `expression_screen_dim` | `alpha riseDuration fallDuration` | 冷色屏幕暗脉冲;命令不等待。 | +| `expression_memory_jolt` | `offset duration tear` | 记忆图水平错位后返回,`tear` 同时设置撕裂强度;命令不等待。 | +| `expression_truth_leak` | `"characterPool" duration` | 兼容旧节点:在谎话字符槽位中进行跳字并等待完成,不再额外点亮真话片段。新节点优先使用 `expression_lie_shuffle`。 | +| `expression_system_message` | `"text" "normal/error" fadeDuration` | 显示屏幕系统提示。样式忽略大小写。 | +| `expression_system_message_hide` | `fadeDuration` | 淡出系统提示;命令不等待。 | + +停顿时长直接写成 Yarn 的 `wait`,因此每段不再受预设黑盒限制: + +```yarn +<> +<> +<> +<> +<> +<> +``` + +## 假话到真话的强反转 + +| 命令 | 参数 | 行为 | +|---|---|---| +| `expression_truth_blackout` | `duration alpha` | 保持一次短促闪黑。此命令等待指定时长,遮罩由紧接着的暖闪/暗脉冲覆盖,或在演出清理时关闭。 | +| `expression_lie_split` | `duration distanceRatio stretchX squashY` | 谎话产生冷暖双影,向左右分裂并横向拉伸、纵向压扁;命令不等待。 | +| `expression_truth_flash` | `alpha riseDuration holdDuration fallDuration` | 暖色真话闪光;命令不等待。 | +| `expression_memory_brightness_pulse` | `amount riseDuration fallDuration` | 只改变记忆图亮度,可用于反转或对白冲击;命令不等待。 | +| `expression_memory_tear` | `peak duration` | 记忆撕裂从峰值回落;命令不等待。 | +| `expression_glitch_pulse` | `peak riseDuration fallDuration` | 背景透明 Glitch 脉冲;命令不等待。 | +| `expression_face_dip` | `duration ratio` | 火山脸向下抽动后回弹;`ratio` 是脸 Bounds 高度比例。 | +| `expression_truth_release` | `alphaDuration` | 原始真话字符从屏幕边缘返回、转暖并恢复亮度,建立 CalmField。 | +| `expression_truth_resolve` | `duration peripheral calmRadius` | 在总时长内稳定全部真话字符;控制记忆外围失真和清晰区半径。此命令等待稳定完成。 | +| `expression_memory_cut` | 无 | 同一帧隐藏两张记忆图,并清空记忆撕裂、噪声、CalmField 和背景 Glitch。 | +| `expression_truth_snap` | `peripheral calmRadius` | 隐藏谎话层,将所有目标字同一帧放到最终位置、改成真话并锁定。 | + +典型反转: + +```yarn +<> +<> +<> +<> +<> +<> +<> +<> +<> +``` + +## 调节建议 + +- 谎话“不自然”的主要旋钮是 `expression_truth_squeeze` 的 `jitter`、`expression_lie_show` 的 `characterSpacing`,以及谎话前后的 `wait`。 +- 反转力度优先调 `expression_truth_blackout` 的 `alpha`、`expression_lie_split` 的 `distanceRatio`、`expression_truth_flash` 的 `alpha` 和 `expression_glitch_pulse` 的 `peak`。 +- `expression_memory_tear` 与 `expression_glitch_pulse` 可以同时触发:前者只作用于记忆图,后者位于记忆图和火山脸之间。 +- `expression_truth_resolve` 是等待命令。其 `duration` 决定 Yarn 何时继续到真话对白,并保证最后一个字符在这个总时长内稳定。 +- 硬切节奏用 `start_timeline` 同帧启动 Timeline,然后连续调用 `expression_memory_cut` 与 `expression_truth_snap`;需要等 Timeline 播完时再调用 `wait_timeline`。 +- Stage6 三段谎话到真话均使用硬切;Light/Medium/Heavy 的差异只保留在谎话持续期间的跳字、记忆扰动和 Glitch 强度,不再影响真话稳定速度。 +- `expression_memory_brightness_pulse 0.18 0.08 0.18` 可直接放在某句对白前,用于精确同步亮度冲击。 +- 所有 Alpha、峰值、外围失真和 Calm 半径都会限制在 `0–1`;时间会保证至少 `0.01s`,避免错误参数卡住 Yarn。 + +## LOG1 可调参数 + +```yarn +<> +<> +<> +<> +``` + +- `expression_memory_begin` 后三个数依次为淡入时长、持续推进速度、水平移动速度。 +- `expression_actor_flash` 后续参数依次为停留、字号、落定缩放、冲击缩放、色散距离、色散透明度、记忆冲击、Glitch 峰值。 +- `expression_actor_word_hit` 最后两个数是字号和冲击缩放。 +- `expression_actor_scroll` 最后一个数是字号。滚动固定为单列,并严格裁切在 `ExpressionScreenMaskRect` 内;新字幕按给定词组顺序从上方循环补入。