feat: VFS 虚拟仿真实验核心框架 v2
- 加权评分系统:每步独立 ScoreWeight,满分 100,SequenceClick 按子项比例计分 - StepData 新增 DetailedContent(学习模式详细操作说明)和 SubStepCount - 伤情检查步骤扩展为 5 子项序列(视觉检查→肿胀→疼痛→生命体征→神经评估) - 夹板固定模式完整评分(选择夹板→放置衬垫→夹板固定→固定后检查) - Doc/ 文件夹归档三份文档:项目大纲、文案、评分标准 - README 更新评分权重表和夹板固定流程
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# 运动伤害现场急救处理虚拟仿真实验 (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),考核模式按 proportion(0~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
|
||||
- 无第三方插件
|
||||
Reference in New Issue
Block a user