Commit Graph

61 Commits

Author SHA1 Message Date
yangbear d32a524308 Fix Point2 outline visual script bug, show Shose without outline at start, only show point2 after camera3 switches, and fix Shose undo removing camera reversion 2026-07-11 05:15:23 +08:00
yangbear 4168def501 Fix GameObject.Find resolving the wrong point2 object (womanPointArray/point2 instead of touchArray/point2) 2026-07-11 05:06:16 +08:00
yangbear 4b233758d5 Add point2 as the first step, trigger IsCheck, and enable Shose afterward 2026-07-11 04:50:21 +08:00
yangbear f18b6812fc Fix variable name collision 'allT' in PageController 2026-07-11 00:34:38 +08:00
yangbear b35afe1022 Hide TipPanel at opening start, show it when opening finishes, and hide it when switching camera 2026-07-10 23:58:43 +08:00
yangbear fec97295be Do not overwrite VideoPlayer url, just play the pre-configured video 2026-07-10 05:04:20 +08:00
yangbear 0abf59a7d7 Centralize VideoPanel logic in UIManager to solve reference ambiguity 2026-07-10 05:01:29 +08:00
yangbear 80cb7598e6 Fix VideoPanel reference, automatically find Canvas/VideoPanel and add components if missing 2026-07-10 04:41:26 +08:00
yangbear 745b11b7f0 Refine Shose undo back to initial voice, fix video looping and hiding, make TipPanel persistent during opening 2026-07-10 03:50:39 +08:00
yangbear ec503bd3f1 Fix final chanrao audio, smooth camera3 transition, show TipPanel for 2s, and play tuoxiezi video 2026-07-10 02:51:52 +08:00
yangbear 193d93f852 Fix Ping restart collider issue and Shose flash issue 2026-07-10 02:11:11 +08:00
yangbear a33435a827 fix: resolve Next/Previous step and UI skipping bugs 2026-07-08 09:38:42 +08:00
yangbear 07256e9e70 fix: 删除ActivateExperimentObjects中残留的ping.004激活代码-根因
日志显示强制隐藏后又被旧代码SetActive(true)覆盖, Python替换未匹配实际文本
2026-07-05 02:26:21 +08:00
yangbear 065be5a982 fix: ActivateExperimentObjects加第三层强制隐藏ping/chanrao+日志 2026-07-05 02:23:53 +08:00
yangbear 77f6e2f00d fix: PlayOpeningFlow/ReturnToHome重置所有ping/chanrao为隐藏
- OpeningFlowController新增DeactivateManInjuryChildren遍历隐藏
- PageController.ReturnToHome同样遍历隐藏ping/chanrao
- 解决上一轮实验残留导致ping自动出现的bug
2026-07-04 16:48:30 +08:00
yangbear c8f23df5a4 feat: 语音流程重排+ping延后+边框变细
- 实验启动时自动播放第1段woman语音(周围环境安全)
- point1点击播放第2段(伤员左大腿), 同时激活ping.004
- ping边框从0.04改为0.015变细
- ActivateExperimentObjects不再即时激活ping
2026-07-03 14:08:08 +08:00
yangbear 393e3da16f feat: ping/chanrao交互系统 + camera3平滑切换
- PingClickHandler: 蓝色闪烁描边, 点击显示chanrao并隐藏自己, 链式激活下个ping
- ping链: 004→003→002→001 (从4开始)
- TouchPositionHandler: point1点击时黑幕渐入→切camera3→渐出
- PageController: 实验启动时激活ping.004
2026-07-02 16:07:02 +08:00
yangbear 2538eecb6b fix: 恢复丢失的AudioManager调用(PlayHomeBg/StopBgMusic/PlayExperimentBg)
多次替换导致ShowPage/OnFixationSelected/ActivateExperimentObjects中的调用丢失
2026-07-01 22:42:39 +08:00
yangbear 8f05587473 fix: AudioManager.I→FindObjectOfType避免Awake执行顺序导致I为null
PageController可能在AudioManager.Awake前Start, 导致I为null
改用FindObjectOfType在调用时查找
2026-07-01 22:39:36 +08:00
yangbear b4415dea4c feat: 音频系统统一重写—AudioManager管理全部音频
新增 AudioManager.cs 挂在 [Managers] 上:
- _bgSource: 背景音乐(首页/实验), spatialBlend=0, BgVolume可调
- _sfxSource: 音效(篮球/manCall), Stop()可打断
- _voiceSource: 语音中断播放

替换:
- PageController: BGMController→AudioManager.I
- OpeningFlowController: PlayClipAtPoint→AudioManager.I.PlayBasketball/ManCallSfx
- 删除 BGMController.cs
- 删除旧 AudioManager.cs(Assets/Scripts/Audio/旧版)
2026-07-01 22:35:36 +08:00
yangbear c3d1efbe2c fix: 删除Start()中_bgAudioSource初始化+修复PlayExperimentBg调用 2026-07-01 22:12:31 +08:00
yangbear d52a7e86aa fix: 清理PageController中残留的音频代码片段 2026-07-01 22:11:21 +08:00
yangbear efce2422b8 fix: 删除PageController中所有旧音频死代码—只留BGMController
旧PlayHomeBg/PlayExperimentBg/StopBgMusic/FadeInBg/PlayWomanAudioSequence
和对应字段全部删除,避免与BGMController静态方法共存
2026-07-01 22:10:30 +08:00
yangbear e1a9f90d3f feat: BGMController独立音频脚本—彻底脱离PageController复杂编辑历史
新增BGMController.cs挂在[Managers]上:
- Awake()中创建AudioSource(spatialBlend=0,vol=0.5)
- AssetDatabase兜底加载_homeBgClip/_experimentBgClip
- 静态方法PlayHomeBg/PlayExperimentBg/StopBgMusic
PageController调用改为BGMController.xxx
2026-07-01 22:00:41 +08:00
yangbear fa380b2ea5 fix: AudioSource搬到[Managers]+关多余AudioListener+跳过FadeInBg直设音量0.5
- [Managers]是始终活跃的非UI/非摄像机物体,切换摄像机不影响
- 禁用camera2/camera3的AudioListener消除多Listener冲突
- 暂时跳过FadeInBg直接设vol=0.5排除淡入干扰
2026-07-01 21:56:12 +08:00
yangbear 01ca708a43 fix: AudioSource从Canvas移到Main Camera—UI Canvas AudioSource无法正常播放
根因: Canvas上的AudioSource因UI Canvas系统限制无法正常输出声音
解决: 将AudioSource组件挂在Main Camera上(spatialBlend=0 2D模式)
Start/PlayHomeBg/PlayExperimentBg全部使用Main Camera的AudioSource
2026-07-01 21:52:39 +08:00
yangbear d1430d7b64 fix: AudioSource设为2D(spatialBlend=0)+FadeInBg加日志
Canvas处于3D空间远端位置(586,330,0),默认3D AudioSource音量衰减到0
spatialBlend=0改为2D全域模式
2026-07-01 21:50:12 +08:00
yangbear 511ef8a61a fix: PlayHomeBg/PlayExperimentBg用AssetDatabase.LoadAssetAtPath兜底加载clip
SerializerField引用因脚本重编译频繁丢失,改为代码中硬加载音频文件路径
不再依赖Inspector赋值
2026-07-01 21:47:46 +08:00
yangbear fc63a9bbb3 fix: StopBgMusic加enabled=false彻底禁用AudioSource防止后续恢复
- StopBgMusic: Stop后加s.enabled=false, 日志打印clip名
- PlayHomeBg/PlayExperimentBg: 播放前设enabled=true, 先停旧fade再开新
- FadeInBg从volume=0渐入
2026-07-01 21:38:26 +08:00
yangbear 9cce193381 fix: 删除重复的_fadeCoroutine字段声明 2026-07-01 21:34:19 +08:00
yangbear c9eda6a9f7 fix: StopBgMusic停止Canvas上所有AudioSource,消除潜藏旧组件
之前的PlayHomeBg/PlayExperimentBg每次run可能残留重复AddComponent
现在GetComponents<AudioSource>()遍历停止全部,不依赖单引用
2026-07-01 21:32:22 +08:00
yangbear 798393edee fix: StopBgMusic强制Stop+中断FadeInBg协程,彻底解决bg不退
- StopBgMusic去掉isPlaying检查,AudioSource存在就强制Stop
- 保存FadeInBg协程引用到_fadeCoroutine
- StopBgMusic时先StopCoroutine(_fadeCoroutine)再Stop音频
2026-07-01 21:29:54 +08:00
yangbear f68e675022 fix: bg音乐缓入+语音打断+代码碎片清理
- PlayHomeBg/PlayExperimentBg 增加 FadeInBg 缓入协程(1.5s)
- TouchPositionHandler 使用静态共享 AudioSource 避免语音重叠
- 清理 PageController 中因多次编辑产生的代码碎片和括号混乱
2026-07-01 21:18:34 +08:00
yangbear d0e4d5d8c5 fix: 音频系统全面修复 - 引用设置+PlayHomeBg重启+音效位置
1. 通过MCP设置所有AudioClip引用到Inspector字段
2. PlayHomeBg去掉clip比较检查,Stop后回来能重新播放
3. basketball/manCall PlayClipAtPoint改用transform.position
4. TouchPositionHandler voiceClip通过SerializedObject赋值
2026-07-01 21:04:38 +08:00
yangbear 34287ca203 fix: 音频系统代码清理 - 修复TouchPositionHandler多余} + 清理死代码
- TouchPositionHandler: 修复sed残留多余},改用PlayClipAtPoint
- PageController: StopBgMusic/HideAllPages分行,删除未调用的PlayWomanAudioSequence
2026-07-01 20:19:17 +08:00
yangbear b26a6e0fc7 fix: 移除重复的PlayHomeBg/StopBgMusic/PlayExperimentBg定义 2026-07-01 20:03:45 +08:00
yangbear 97b793e8f4 fix: 修复bg音乐方法被加到类外面的编译错误 2026-07-01 20:01:21 +08:00
yangbear 8dadc6a58d feat: 音频系统重构 - bg音乐流程修复 + woman语音按点位播放
改动:
1. TouchPositionHandler新增voiceClip字段, 点击时播放对应语音
2. PageController.ShowPage: 首页播放homeBg
3. OnFixationSelected: StopBgMusic()(开场动画开始时停bg)
4. ActivateExperimentObjects: 移除PlayWomanAudioSequence, 保留PlayExperimentBg
5. 新增PlayHomeBg/StopBgMusic/PlayExperimentBg方法
6. 删除_audioManager冗余引用

流程:
首页→homeBg播 → 选固定方式→bg停 → 开场动画→实验bg播
woman语音1→点击point1播, 语音2→point2, 语音3→point3
2026-07-01 19:51:41 +08:00
yangbear 9548492391 feat: 完整音频系统 - 首页/实验背景音乐+woman语音序列
- PageController新增_homeBgClip/_experimentBgClip/_womanClips数组
- Start()创建AudioSource循环播放背景音乐
- ShowPage控制: Home播首页bg, 离开首页停止bg
- ActivateExperimentObjects: 停止首页bg→播实验bg→顺序播放3段woman语音
- PlayWomanAudioSequence()协程: 每段播完后等0.5s再播下一段
2026-06-30 23:42:26 +08:00
yangbear 9ce2bccbeb fix: 实验启动时恢复显示TipPanel和DialogueBubble
HideAllPages()隐藏了这两个面板,ActivateExperimentObjects()中补上显示
2026-06-30 23:12:24 +08:00
yangbear 4540ff4942 fix: 移除UIManager重复按钮绑定+InteractionSystem误触发——根因修复
根因: UIManager._btnLimbFixation/_btnSplintFixation调用SwitchFixation
与PageController的OnFixationSelected双重触发,StepManager._mode被设为Learn
导致OnStepInteractionComplete→NextStep→WomanStepNext自动跳过步骤。

修复:
1. UIManager.BindButtons移除_btnLimbFixation/_btnSplintFixation的SwitchFixation绑定
2. ExperimentFlowCoordinator.OnAnywhereClicked增加无Config步骤时忽略的注释守卫
2026-06-30 21:59:47 +08:00
yangbear 7519b37ee6 fix: 模型状态完全恢复 - man Animator重置 + touchPoint闪烁重启
- PlayOpeningFlow/ReturnToHome: 增加 _manAnimator.Play("manIdle") 强制重置动画状态
- TouchPositionHandler: 新增 OnEnable() 重新激活时自动重启闪烁协程+启用MeshRenderer
- 解决返回重来后 man 还停在 manfull、touchPoint 不再闪烁的问题
2026-06-30 15:09:31 +08:00
yangbear 039099e1f6 fix: Camera.main→GameObject.Find(Main Camera) 解决摄像机不同步
根因: Camera.main在SwitchToCamera2禁用主摄像机后返回null,
PlayOpeningFlow/ReturnToHome无法重新启用主摄像机。
全部改用GameObject.Find("Main Camera")按名字查找。
2026-06-30 14:55:40 +08:00
yangbear 3ebe010dfd fix: Previous/Next走对woman步进 + 开场动画支持重复播放
- PreviousStep/NextStep: woman自由步进优先于Config路径
- UpdateTouchVisibility: 修正索引 i==step (之前错误地用step-1)
- PlayOpeningFlow: 每次调用前重置man/man2/摄像机状态,支持返回重来
- PageController: 移除InitializeFromGameManager调用,不再覆盖woman步进
2026-06-30 14:47:51 +08:00
yangbear 2df79866d0 feat: 上一步/下一步支持woman步进撤销重做
- StepManager新增自由步进模式(无Config时):
  InitWomanSteps/RecordWomanStep/WomanStepPrevious/WomanStepNext
- PreviousStep/NextStep在_activeSteps为null时走woman步进
- TouchPositionHandler点击后通知StepManager.RecordWomanStep
- PageController在实验启动时调用InitWomanSteps初始化
- 上一步→woman回到上个位置+显示对应touchPoint
- 下一步→woman移到下个位置+显示对应touchPoint
2026-06-30 14:32:30 +08:00
yangbear 542268932d fix: touchArray球体改为黑场后才出现,与medicalBox同步
- 所有touchArray子级初始隐藏
- ActivateExperimentObjects()中同步激活point1
2026-06-30 02:49:27 +08:00
yangbear bc24cd922c fix: ActivateExperimentObjects 用 FindObjectsOfType(includeInactive) 替代 GameObject.Find
medicalBox 初始 inactive,GameObject.Find 只能找活跃对象
改为 FindObjectsOfType<GameObject>(true) 遍历所有对象查找
2026-06-30 02:26:32 +08:00
yangbear 7100305765 feat: woman移动交互 + medicalBox显示 + ReturnToHome场景重置
- TouchPositionHandler: 点击touchArray球体→woman移动到womanPointArray对应位置
- medicalBox: 初始隐藏,实验开始后显示
- ReturnToHome: 重置场景(恢复man/man2, 隐藏woman/manInjury/medicalBox, 切回主摄像机, 重置Animator)
- ActivateExperimentObjects(): 实验启动时激活实验物件
2026-06-30 02:19:13 +08:00
yangbear cee3dd097c fix: HideAllPages 增加隐藏 DialogueBubble 2026-06-30 01:37:40 +08:00
yangbear 7d2696d65c fix: HideAllPages 增加隐藏 TipPanel 2026-06-30 01:22:54 +08:00