Commit Graph

40 Commits

Author SHA1 Message Date
yangbear bd76dfd9ec Improve exam flow and WebGL build 2026-07-17 05:42:52 +08:00
yangbear 53f856e44e Optimize WebGL build and video loading 2026-07-14 00:16:34 +08:00
yangbear 79e1fbb70b Implement limb fixation exam flow 2026-07-12 20:34:49 +08:00
yangbear 424f07cce2 fix: collider按localScale缩放+描边补偿scale(解决0.01scale下不可见) 2026-07-06 05:07:15 +08:00
yangbear a8e6b2084b fix: Shose.targetPoint补设为ShosePoint—最终验证完成 2026-07-06 04:59:46 +08:00
yangbear f96f84f5df fix: Shoe scale 0.01→1.0 + BoxCollider缩放修正+全部handler+collider 2026-07-06 04:58:25 +08:00
yangbear 8cb9bf7ec9 fix: PingClickHandler补UndoSecondClick/UndoShow stub修复编译 2026-07-06 04:50:55 +08:00
yangbear 3c76ce47df fix: 所有描边宽度提到0.1+补挂PingClickHandler/ChanraoTuibuHandler 2026-07-06 04:36:50 +08:00
yangbear 7f846da1a7 fix: Shose collider半径扩到3.0+引用写入场景 2026-07-06 04:23:49 +08:00
yangbear 5a394e8cad fix: ShoseClickHandler加全量点击诊断日志+collider强制enabled+匹配双名称 2026-07-06 04:22:18 +08:00
yangbear 44a87df00b fix: Shose scale从0.011调到1—模型太小看不到 2026-07-05 22:25:19 +08:00
yangbear a2095afe7b fix: Shose场景挂载ShoseClickHandler+collider+移除DraggableObject+抬高Y=0.5 2026-07-05 22:21:12 +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 9bb15b9959 fix: ping描边改为世界空间水平环,移除X旋转避免视角不可见 2026-07-02 16:33:02 +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 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 8187f871e5 fix: 删除旧AudioManager组件+重设PageController音频引用(save scene) 2026-07-01 21:43:25 +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 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 3d407dec63 fix: 描边从单环改为交叉双环(横+竖),世界空间绘制避免视角失真
- 水平环(XZ平面) + 垂直环(XY平面) 交叉形成球形轮廓
- useWorldSpace=true 直接在世界空间画,避免子物体旋转导致的视角变形
- 半径0.15, 线宽0.06, 亮蓝色, 两个环同步闪烁
2026-06-30 02:48:13 +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 1cd201da60 fix: 去掉Shoot的while循环,改为纯WaitForSeconds避免干扰Animator
用户已修复Animator Controller中Shoot循环问题,代码端不再需要每帧SetBool(IsFull,false)
2026-06-30 00:57:32 +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 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 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 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
yangbear f36a3b87f6 feat: initial Unity project setup with .gitignore 2026-06-22 16:34:52 +08:00