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
|
3a83140801
|
fix: 重建TouchPositionHandler.cs修复括号混乱编译错误
|
2026-07-01 21:07:01 +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
|
89037cb9dc
|
feat: 开场音频系统 - 篮球音效+manCall
- OpeningFlowController新增_basketballClip/_manCallClip SerializeField
- Step2 Shoot开始时播放篮球音效
- Step3 manfull摔倒后播放manCall
- AudioSource.PlayClipAtPoint播放
|
2026-06-30 23:40:37 +08:00 |
|
yangbear
|
9ce2bccbeb
|
fix: 实验启动时恢复显示TipPanel和DialogueBubble
HideAllPages()隐藏了这两个面板,ActivateExperimentObjects()中补上显示
|
2026-06-30 23:12:24 +08:00 |
|
yangbear
|
b2714eb7a2
|
feat: 开场动画开关 _enableOpeningFlow (Inspector可调)
- 新增 [SerializeField] _enableOpeningFlow,默认true
- 设为false时直接跳过动画,切场景状态后回调
- 方便调试验证后续功能
|
2026-06-30 23:10:08 +08:00 |
|
yangbear
|
5778de59ab
|
fix: 保存woman初始位置,上一步回到step0时能回到起点
- InitWomanSteps()保存_womanInitPos/_womanInitRot
- MoveWomanToStep(0)不再跳过,改为恢复到初始位置
- step=0时显示point1(通过UpdateTouchVisibility)
|
2026-06-30 23:07:19 +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
|
524ad732f9
|
feat: 双Pass膨胀描边shader替代LineRenderer
- 新增 Custom/OutlineUnlit shader: Pass1膨胀描边(Cull Front)+Pass2内芯填充
- BlueOutline.mat: 蓝色描边+半透蓝填充
- TouchPositionHandler改用MeshRenderer.enabled闪烁
- 球体挂MeshRenderer+Outline材质,0.4s闪烁
|
2026-06-30 03:02:12 +08:00 |
|
yangbear
|
542268932d
|
fix: touchArray球体改为黑场后才出现,与medicalBox同步
- 所有touchArray子级初始隐藏
- ActivateExperimentObjects()中同步激活point1
|
2026-06-30 02:49:27 +08:00 |
|
yangbear
|
3d407dec63
|
fix: 描边从单环改为交叉双环(横+竖),世界空间绘制避免视角失真
- 水平环(XZ平面) + 垂直环(XY平面) 交叉形成球形轮廓
- useWorldSpace=true 直接在世界空间画,避免子物体旋转导致的视角变形
- 半径0.15, 线宽0.06, 亮蓝色, 两个环同步闪烁
|
2026-06-30 02:48:13 +08:00 |
|
yangbear
|
ea12c51677
|
fix: 蓝描边重构 - Unlit/Color shader + 闪烁 + MeshRenderer自动关闭
- Shader: Sprites/Default → Unlit/Color (解决3D空间不可见)
- 线宽: 0.02→0.06, 半径: 0.12→0.15, 颜色: 亮蓝
- 新增闪烁协程: 每0.4s切换enabled
- Start()自动关闭MeshRenderer,只留描边
- 环抬高0.02防穿地
|
2026-06-30 02:32: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
|
2bb79e452e
|
feat: touchArray 蓝描边 + 顺序显示(点击1→2→3)
- TouchPositionHandler: Start()创建LineRenderer蓝圈描边
- 新增 nextTouchObject 字段实现链式顺序显示
- 点击球体→移动woman→隐藏自己→显示下一个
- 场景初始: 仅point1活跃, 链: point1→point2→point3→null
|
2026-06-30 02:24:54 +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 |
|
yangbear
|
c88651be54
|
fix: Shoot也改用Play直接播放,彻底绕过Animator Controller过渡
- Shoot和manfull都使用_manAnimator.Play()直接播放
- 开头加yield return null让Animator处理重置
- 不再依赖SetBool参数过渡,消除所有Animator Controller不确定性
|
2026-06-30 00:58:58 +08:00 |
|
yangbear
|
1cd201da60
|
fix: 去掉Shoot的while循环,改为纯WaitForSeconds避免干扰Animator
用户已修复Animator Controller中Shoot循环问题,代码端不再需要每帧SetBool(IsFull,false)
|
2026-06-30 00:57:32 +08:00 |
|
yangbear
|
c1f1428d39
|
fix: Idle缩到1s + 摔倒改用Play直接播放避免被Animator过渡跳过
- Idle从2s缩短到1s
- Fall不再依赖SetBool+Animator过渡,改用Play("manfull")直接播放
- 摔倒后停留2s确保看清
|
2026-06-30 00:52:13 +08:00 |
|
yangbear
|
c8a21fa3b3
|
fix: 去掉 Play(manIdle) 避免 Idle 重复触发 + Shoot→Fall 过渡优化 + 场景 maninjury→manInjury
- 不再调用 Play("manIdle"),仅重置参数让 Animator 默认进入 Idle
- Shoot 结束后先设 IsFull=true 再清 IsStart=false,避免过渡时闪回 Idle
- 摔倒后停留从1s增加到2s,确保玩家看清摔倒动作
- GameObject.Find("maninjury") → Find("manInjury") 匹配场景重命名
|
2026-06-30 00:48:09 +08:00 |
|
yangbear
|
c38016ce26
|
fix: Shoot期间每帧锁定IsFull=false防止过早切换 + 黑场后隐藏man
- Step2 Shoot: 改为while循环每帧SetBool(IsFull,false),防止Animator中途切到manfull
- Step3 Fall: 2.1s后停留1s再黑场(不再用_fallHoldDuration)
- Step4 黑场: 新增 man 隐藏(_manAnimator.gameObject.SetActive(false))
- woman和maninjury在黑场期间显示,man/man2隐藏
|
2026-06-29 20:54:39 +08:00 |
|
yangbear
|
34c57b51fe
|
fix: 重建 OpeningFlowController.cs,修复字段声明丢失导致的编译错误
之前 structured edit 替换方法时丢失了所有 [SerializeField] 字段声明
现在删掉重建完整文件,字段全部在类开头正确声明
|
2026-06-29 20:43:11 +08:00 |
|
yangbear
|
4147d6e800
|
fix: 修复黑幕不显示的根因 — BlackScreenPanel active=false 导致 GameObject.Find 找不到
根因: BlackScreenPanel 初始 active=false,GameObject.Find() 只能找活跃对象
→ _blackScreenPanel 一直为 null → FadeBlackScreen() 直接 yield break 跳过
修复:
1. 场景中激活 BlackScreenPanel(alpha=0 所以视觉不可见)
2. AutoAssignReferences() 增加 FindObjectsOfType<Image>(true) 兜底
3. Start() 改为保持 BlackScreenPanel active + alpha=0,而非 SetActive(false)
4. 增加 Debug.Log 确认 BlackScreenPanel 找到状态
|
2026-06-29 20:41:12 +08:00 |
|
yangbear
|
64675fc56a
|
fix: 摔倒动画后增加停留缓冲,避免动作未完成就黑幕转场\n\n- 新增 _fallHoldDuration 字段(默认1.5s),Inspector 可调\n- Step3 manfull 2.1s 播完后 wait _fallHoldDuration 再进黑幕
|
2026-06-29 20:37:14 +08:00 |
|
yangbear
|
c592358ef8
|
fix: 修复 manIdle 未播放问题 + 添加 camera2 切换
- RunOpeningFlow 开头强制重置 Animator: SetBool(false) + Play("manIdle")
- Step2 前确保 IsFull=false(适配 Idle→Shoot 过渡条件)
- 黑屏转场后调用 SwitchToCamera2(),启用 camera2、禁用主摄像机
- 所有关键步骤增加详细 Debug.Log
|
2026-06-29 20:35:12 +08:00 |
|
yangbear
|
8c5412f390
|
fix: 片头动画改为用户触发而非自动播放
- OpeningFlowController: Start() 不再自动播放动画,新增 PlayOpeningFlow(Action onComplete) 公开方法
- PageController: OnFixationSelected() 先隐藏所有UI面板,调用 PlayOpeningFlow,动画结束后再显示 ExperimentPanel
- 新增 HideAllPages() 方法用于片头动画期间清空UI
- 所有按钮回调均保留 Debug.Log 输出
|
2026-06-29 20:25:57 +08:00 |
|
yangbear
|
2d0aaa98aa
|
fix: 修复 UI 导航流程,添加 Debug.Log 完整日志
- 重写 PageController.cs,为所有按钮回调添加完整 Debug.Log
- 自动修复 _btnFixationBack:未赋值时自动查找 FixationPanel/BtnBack
- 自动修复 _btnExperimentBack:未赋值时自动查找 ExperimentPanel/Navbar/BtnBack
- 删除失效的 Canvas 根级冗余 BtnFixationBack
- 添加 3D 角色模型资源(man/woman 模型、动画、TextMesh Pro)
- 添加 ExperimentPanel UI 资源和 TrainingBackground 素材
测试方法:进入 Play 模式,查看 Console 以验证每个按钮的绑定状态和点击回调是否正常触发。
|
2026-06-27 13:25:58 +08:00 |
|
yangbear
|
98aeae4929
|
fix: 重连PageController和UIManager的FixationPanel按钮引用
修复原因:用户将BtnBack/BtnLimbFixation/BtnSplintFixation移入FixationPanel子物体后,
Inspector中的SerializeField引用自动断开,导致按钮点击无响应。
重连引用:
- _btnFixationBack → Canvas/FixationPanel/BtnBack
- _btnLimbFixation → Canvas/FixationPanel/BtnLimbFixation
- _btnSplintFixation → Canvas/FixationPanel/BtnSplintFixation
- _experimentPanel → Canvas/ExperimentPanel
- _btnExperimentBack → Canvas/ExperimentPanel/BtnBack
- UIManager._btnLimbFixation / _btnSplintFixation 同步重连
|
2026-06-25 05:05:50 +08:00 |
|
yangbear
|
5b7d114e21
|
fix: 修复FixationPanel和ExperimentPanel的按钮无响应与缩放问题
- FixationPanel/ExperimentPanel: raycastTarget设为false,防止背景Image阻断子按钮点击
- FixationPanel/ExperimentPanel: RectTransform anchor改为(0,0)-(1,1)全屏拉伸,与HomePagePanel/ModeSelectPanel一致
- 删除旧版Canvas/BtnFixationBack遗留按钮
- Panel背景Image不再作为raycast目标,保证子按钮可点击
|
2026-06-25 05:03:06 +08:00 |
|
yangbear
|
b999148a0e
|
fix: 修复ExperimentPanel按钮无响应问题,新增OnExperimentBackClicked回调,清理遗留的BtnFixationBack显隐逻辑
|
2026-06-25 04:55:41 +08:00 |
|
yangbear
|
b775d9f179
|
chore: 删除遗留死代码(ConfigLoader, ExperimentController)
|
2026-06-25 04:44:01 +08:00 |
|
yangbear
|
0a1fce450c
|
fix: 清理AI遗留代码,修复场景配置
- 删除三套旧菜单系统 (MainMenu.cs, MainMenuUI.cs, ModeSelectionUI.cs)
- Ground 添加 BoxCollider 并设置 tag 为 Ground
- UIManager.OnReturnClicked 改为通过 PageController 返回首页
- PageController 增加 ReturnToHome 方法,管理 BtnFixationBack 可见性
- 清理废弃场景 Experiment.unity / ModeSelection.unity 及历史截图
|
2026-06-25 04:37:45 +08:00 |
|
yangbear
|
3b4438731d
|
fix: WebGL关闭Brotli压缩解决服务器部署.br解析问题; 新增PageController编辑器页面预览下拉框; 创建FractureFixationConfig ScriptableObject; 修复ExperimentFlowCoordinator自动初始化问题
|
2026-06-24 06:05:55 +08:00 |
|
yangbear
|
a6a7fd06d4
|
feat: WebGL打包配置 + UI页面系统完善
- WebGL Build: 全屏1920x1080,Build文件夹gitignore
- 导入Arial.ttf字体解决WebGL打包字体问题
- 修复PageController所有按钮绑定(BtnExamMode等)
- ModeSelectPanel添加ModeDesc描述文字
- 删除PageControllerEditor.cs(Editor脚本导致WebGL编译失败)
- 场景模型资源导入(Environment/playground)
|
2026-06-24 05:24:09 +08:00 |
|
yangbear
|
e2834ed92a
|
feat: Canvas UI修复为ScreenSpaceOverlay + ScaleWithScreenSize适配WebGL; 新增截图、meta文件
|
2026-06-24 02:50:08 +08:00 |
|
yangbear
|
c5006bea92
|
merge: 合并远程更改,保留本地脚本代码和远程文档
|
2026-06-24 02:45:21 +08:00 |
|
yangbear
|
bf926165c0
|
feat: 场景优化 - 清理重复对象、设置Tags/Colliders、重建Canvas UI、连线Inspector引用
- 删除顶层重复的 GameManager/ExperimentController/InteractionSystem/AnimationController
- 移除Canvas上的旧 HUDController(保留 UIManager)
- 为14个交互定位点设置Tag并添加SphereCollider
- 创建12个自定义Tag(InjuryVisual/Swelling/Pain/VitalSigns/Neuro/BandagePos1-3/Ankle/PaddingPos/SplintLeft/SplintRight)
- 完全重建Canvas UI子对象结构以匹配 UIManager 脚本
- 连线 ExperimentFlowCoordinator 和 UIManager 的所有 serialized fields
- 编译零错误,游戏画面正常显示
|
2026-06-24 02:44:58 +08:00 |
|
yangbear
|
f0a6b96da5
|
feat: MCP Unity 场景优化 — 完整交互体系搭建
- 删除重复 Ground
- 创建 [Managers] 空物体,挂载 GameManager + StepManager + ExperimentFlowCoordinator + AudioManager
- Main Camera 挂载 InteractionSystem
- 伤者 InjectedPerson 下创建 5 个交互子物体 (InjuryVisual/Swelling/Pain/VitalSigns/Neuro)
- 创建绑带位置、踝关节、衬垫、夹板位置等空物体
- 道具摆放到位:伤者(2,0.05,5) 施救者(3,0,5) 鞋(2.7,0.15,5.5) 绷带/夹板/急救箱在旁
- InjuryLeg Tag 修正,Ground Tag 修正
- 全部新脚本同步导入 (ExperimentTypes/StepData/ExperimentConfig/StepManager/GameManager/ExperimentFlowCoordinator/InteractionSystem/DraggableObject/HighlightEffect/UIManager/ExamPopup/ScoreDisplay/VideoController/AudioManager/CharacterAnimController/StepAnimationHandler)
- 旧脚本 (ExperimentController/ConfigLoader/AnimationController/HUDController/VideoPlayerController/PopupSystem/ModeSelectionUI) 全部兼容修复或 stub
- 编译通过,0 错误
- Canvas 挂载 UIManager
|
2026-06-24 02:33:48 +08:00 |
|