Files
aibis-dream/Docs/HuoShan/core/04_implementation.md
T

5.1 KiB
Raw Blame History

火山第一次维修 - 实现状态

唯一技术真相来源。 与代码保持一致,Yarn 命令、波形 ID 等以本文件为准。

波形类型定义

波形类型 视觉特征 代表含义 使用场景
正弦波(低频) 圆润、缓慢起伏 悲伤/焦虑/恐惧 情绪模块输出
方波 方正、规则 逻辑/理性 逻辑模块输出
锯齿波(高频) 尖锐、快速 幽默/笑话 滤波器输出(被 modify 后)
混合波形 多种叠加 正常表达信号 滤波器最终输出

波形 ID(配置用)

波形 ID 描述 状态
emotion_sine 情绪模块输出 待配置
logic_square 逻辑模块输出 待配置
filter_sawtooth 滤波器输出(锯齿为主) 待配置
filter_normal 滤波器正常混合 待配置

已实现的 Yarn 命令

波形:

  • show_waveform "id" / hide_waveform
  • check_waveform_sweep / check_waveform_range / check_waveform_pass / check_waveform_fail
  • modify_waveform "from" "to" duration

粒子语言:

  • open_expression / close_expression / reset_expression
  • start_expression "干扰词" "目标句子" "完成节点"
  • restart_expression "干扰词" "目标句子" "完成节点"

Stage 与功能

Stage 主要内容 所需功能
1 诊室开场 基础对话
2 后脑检查 波形显示、波形比对
3 滤波器深入 步进进度、波形变换、治疗记录
4 RAM 堆积 报错弹窗
5 诊室理解 基础对话
6 释放 RAM 粒子语言小游戏
7 诊室结束 基础对话

Stage3 步进流程(4 步)

步骤 内容 视觉效果
1/4 情绪信号接收 低频波形,蓝紫色
2/4 屏蔽词检测 青色光带横扫
3/4 限幅检测 黄色脉冲检测峰值
4/4 异常介入 波形变形:低频→高频

Stage6 粒子语言配置

阶段 目标句子 干扰词示例
LOG1 我很害怕 哈哈、嘿嘿、呵呵
LOG2 她都是为了我 哈哈哈、嘿嘿嘿、笑死了、好好笑
LOG3 我不想再继续逃了 哈哈哈哈、笑死我了、太好笑了、绷不住了

治疗记录(步骤 9)内容

════════ 安装记录 ════════
患者:火山
症状:语言生成模块存在缺陷,无法自然处理负面情绪表达
      患者经常因说话太直接而丢失客户
处理方案:安装情绪滤波器 v0.7(临时)
          将部分悲伤/焦虑波形转化为幽默波形辅助表达
随诊安排:每月复查调整参数
副作用:未转化的情绪信号可能造成RAM堆积
!!重要:此为过渡方案!!

波形系统路径

Assets/Scripts/MiniGame/HuoShan/Waveform/
详见 README_WaveformSetup.md


销售系统控制器(实现版)

位于 Assets/Scripts/MiniGame/HuoShan/SalesSystem/

CrankController(发条控制器)

功能:拖拽旋转、最大 260°、缓慢回位、触发事件。支持沿环轨道移动或原地旋转。

配置项 类型 默认 说明
maxRotationAngle float 260 最大旋转角度(度)
returnDuration float 3 回位时长(秒),与滑片滑动时长匹配
triggerAngle float 240 触发事件的最小角度
autoReturn bool true 是否自动返回初始位置
ringCenter Transform - 环中心;不填则原地旋转
ringRadius float 0 环半径,0 则从初始位置自动计算

事件onCrankComplete(到顶松开)、onCrankRotate(float)01 标准化)、onCrankStartDrag

公共方法ResetCrank()RotateTo(angle, duration)GetNormalizedRotation()GetCurrentAngle()ReturnDuration

SliderController(滑片控制器)

功能:仅通过 Yarn/代码控制,不接受玩家直接交互。滑片沿圆环滑动,等离子体发光段从起始到当前位置,滑片位置驱动波形参数。

配置项 类型 默认 说明
ringCenter Transform - 圆环中心
outerRadius float 2 外环半径(滑片轨迹)
innerRadius float 1.5 内环半径(等离子体弧线)
slideAngleRange float 360 滑动弧度范围(度)
segmentCount int 12 离散段数量,用于 slide_to_segment
plasmaAffectsWaveform bool true 等离子体发光是否影响波形参数

事件onSliderPositionChanged(float)01 标准化)。

公共方法SlideTo(angle, duration)SlideToNormalized(pos, duration)SlideToSegment(index, duration)GetCurrentAngle()GetNormalizedPosition()ResetPosition()GetCurrentSegment()

联动关系

  • 发条 returnDuration 与滑片滑动时长建议一致(如 3 秒),实现「发条回位 ≈ 滑片到位」的节奏。
  • 滑片位置驱动 WaveformRenderer.SetClarity()SetClarityPosition()