yangbear 89037cb9dc feat: 开场音频系统 - 篮球音效+manCall
- OpeningFlowController新增_basketballClip/_manCallClip SerializeField
- Step2 Shoot开始时播放篮球音效
- Step3 manfull摔倒后播放manCall
- AudioSource.PlayClipAtPoint播放
2026-06-30 23:40:37 +08:00

运动伤害现场急救处理虚拟仿真实验 (VFS)

项目概述

Unity 虚拟仿真教学项目,用于运动伤害现场急救培训。 涵盖五大实验:心肺复苏、骨折固定、扭伤包扎、出血包扎、伤员搬运。 支持学习模式(含语音引导 + 画中画演示视频 + 详细操作说明)和考核模式(含加权自动判分 + 错题分析)。

目录结构

Assets/
  Scripts/
    Core/               # 核心管理
      ExperimentTypes.cs
      GameManager.cs     # 全局单例:实验/模式/固定方式/加权分数
      StepManager.cs     # 流程状态机:步骤推进、事件派发
      ExperimentFlowCoordinator.cs  # 场景协调器
    Data/
      StepData.cs        # ScriptableObject:步骤数据(含评分权重)
      ExperimentConfig.cs # ScriptableObject:完整实验配置
    Interaction/
      InteractionSystem.cs  # 射线检测/点击/拖拽/序列判定
      DraggableObject.cs    # 拖拽+吸附
      HighlightEffect.cs    # 悬停/考核高亮
    UI/
      UIManager.cs       # UI 中央调度
      MainMenu.cs        # 主菜单
      ExamPopup.cs       # 考核弹窗(选择题/操作题)
      ScoreDisplay.cs    # 加权成绩 + 错题分析 / 注意事项
      VideoController.cs # 画中画视频
    Animation/
      CharacterAnimController.cs  # 角色动画
      StepAnimationHandler.cs     # 步骤动画协程
    Audio/
      AudioManager.cs    # BGM + 语音解说
  Resources/Configs/     # StepData / ExperimentConfig 存放
  StreamingAssets/Videos/    # 演示视频
  StreamingAssets/Voice/     # 语音解说
Doc/                     # 项目文档
  01_项目原始大纲与资源清单.md
  02_完整流程文案与UI文案.md
  03_考核评分标准.md

架构要点

  • 状态集中GameManager 单例持有实验类型/模式/固定方式/加权分数
  • 事件驱动StepManager 通过 UnityEvent 派发步骤变化,UI/动画/协调器订阅
  • 交互分离InteractionSystem 检测 → ExperimentFlowCoordinator 判定(含按比例计分)→ StepManager 推进
  • 数据驱动:所有文案、选项、评分权重在 ScriptableObject 配置,无需改代码
  • 加权评分:每步独立 ScoreWeight(满分 100),考核模式按 proportion0~1)记录得分

评分系统

评分权重(骨折固定·肢体固定)

步骤 名称 满分 考核重点
1 环境评估 5 分 环境评估与自我介绍
2 伤情检查 20 分 视觉检查→肿胀畸形→疼痛评估→生命体征→神经评估(5 子项)
3 脱鞋袜检查 10 分 脱鞋袜、观察末梢循环
4 放置衬带 10 分 选择正确带子宽度(10cm
5 肢体并拢 10 分 加衬垫、并拢下肢
6 主干固定 20 分 近心端→远心端→膝关节下(3 子项)
7 踝关节固定 15 分 8 字固定、结打足背
8 终末检查 10 分 检查循环运动感觉

总分 100 分。SequenceClick 类型按子项命中比例计分。

评分权重(夹板固定模式)

步骤 名称 满分 考核重点
1 环境评估 5 分 同肢体固定
2 伤情检查 20 分 同肢体固定
3 脱鞋袜检查 10 分 同肢体固定
4 选择夹板 10 分 长度/硬度需超过相邻两关节
5 放置衬垫 10 分 骨突处加厚衬垫,关节及空隙放衬垫
6 夹板固定 20 分 内侧上至大腿根部下过足跟,外侧上至腋窝下过足跟
7 固定后检查 15 分 末梢颜色/温度/脉搏,调整松紧度
8 终末检查 10 分 同肢体固定

左大腿骨折夹板固定示例

  • 内侧夹板:大腿根部 → 过足跟
  • 外侧夹板:腋窝 → 过足跟
  • 关节处及空隙部位放置衬垫

接入步骤

1. 创建 Unity 项目

Unity 2021.3 LTS+3D 模板。安装 TextMeshPro Essentials。

2. 导入脚本

Assets/Scripts/ 下所有 .cs 文件拖入项目对应文件夹。确保有 VFS.Core.asmdef

3. 搭建场景

MainMenu 场景:

  • Canvas → 挂 MainMenu.cs
  • 5 个实验选择按钮 + 模式切换 + 固定方式面板 + 开始按钮
  • 空 GameObject → 挂 GameManager.cs

Experiment 场景:

  • 导入 3D 模型,给可交互物体加 Collider + Tag
    • InjuryLeg InjuryVisual InjurySwelling InjuryPain InjuryVitalSigns InjuryNeuro — 伤情检查子项
    • Shoe BandagePos1~3 Ankle PaddingPos SplintLeft SplintRight Ground
  • 空 GameObject [Managers] 挂 GameManager / StepManager / ExperimentFlowCoordinator / AudioManager
  • 主相机挂 InteractionSystem.cs
  • Canvas 挂 UIManager.cs,子面板挂 ExamPopup / ScoreDisplay / VideoController
  • 学习模式详细内容面板挂于 Canvas 下,在 UIManager._detailPanel 拖入

4. 配置步骤

  • Create → VFS → Step Data(逐步骤填入 ScoreWeight / SubStepCount / TipText / DetailedContent / 考核选项)
  • Create → VFS → Experiment Config(组装 LearnStepsLimb / ExamStepsLimb / LearnStepsSplint / ExamStepsSplint
  • 拖入 StepManager.Config

5. 连线

  • ExperimentFlowCoordinator Inspector 拖入 StepManager / InteractionSystem / UIManager / StepAnimationHandler / AudioManager
  • UIManager Inspector 拖入各 UI 引用(Tip / Detail / Dialogue / ExamPopup / ScoreDisplay / VideoController / Buttons

6. 视频/语音

  • 真人演示视频放入 StreamingAssets/Videos/
  • 语音解说放入 StreamingAssets/Voice/

依赖

  • Unity 2021.3+
  • TextMeshPro Essentials
  • 无第三方插件
S
Description
vfs
Readme 1.3 GiB
Languages
C# 77.7%
ShaderLab 8.2%
GLSL 5.5%
JavaScript 2.9%
Wolfram Language 2.6%
Other 3.1%