docs: 同步设计文档 — 空基固定阵位发射、实体属性更新、基础数据 CRUD 架构

This commit is contained in:
tian 2026-06-17 16:10:54 +08:00
parent bc8b401ef6
commit 0b531de794
3 changed files with 19 additions and 29 deletions

View File

@ -587,10 +587,10 @@ Tick 内 DetectionEntity 扫描飞行无人机:
火控分配(分配给可用搭载平台)
├── 空基平台:飞至投放点
├── 空基平台:固定阵位发射(水平初速 + 重力下落)
│ │
│ ▼
投放弹药(自由落体/滑翔至云团生成点)
弹药飞行至目标高度
└── 地基平台:计算射击诸元
@ -622,8 +622,8 @@ Unity 渲染毁伤效果(尾焰异常、姿态失控、坠落)
```
1. 【发射阶段】
按 FireSchedule 执行:
├─ SimulationTime ≥ FireTime → 平台发射弹药(空基先 CommandFlyTo地基直接 Release
├─ 空基平台到达投放点 → 投放弹药(继承载机速度)
├─ SimulationTime ≥ FireTime → 平台直接发射弹药
├─ 空基发射:弹药以巡航速度水平射出,重力下落到目标高度
└─ 触发 OnMunitionLaunched 事件
2. 【弹药飞行 → 云团生成】
@ -712,11 +712,11 @@ Unity 渲染毁伤效果(尾焰异常、姿态失控、坠落)
```
空基平台AirBasedPlatform
- 位置(动态,飞向投放点)
- 固定阵
- 挂载弹药类型 AerosolType、数量 MunitionCount
- 释放高度 ReleaseAltitude
- 巡航速度 CruiseSpeed
- 冷却计时器
- 行为:接收目标坐标 → 计算拦截航路 → 飞至投放点 → 投放弹药
- 行为:按发射计划从固定位置水平射出弹药,弹药重力下落到目标高度
地基平台GroundBasedPlatform
- 固定位置
@ -735,19 +735,10 @@ Unity 渲染毁伤效果(尾焰异常、姿态失控、坠落)
- 当前位置、速度
- 目标坐标(云团生成点)
行为(两种弹道):
- AirDrop空基投放
初始位置 = 投放点,初始速度 = 平台速度
运动 = 自由落体 + 水平惯性(简化)
到达条件 = 当前位置.Z ≤ 云团生成高度
- GroundArtillery地基炮弹
初始位置 = 发射点,初始速度 = MuzzleVelocity
运动 = 抛物线弹道
x(t) = x0 + v0*cos(θ)*cos(φ)*t
y(t) = y0 + v0*cos(θ)*sin(φ)*t
z(t) = z0 + v0*sin(θ)*t - 0.5*g*t²
到达条件 = z(t) ≤ 云团生成高度
行为(统一抛物模型):
- 地基:初速 MuzzleVelocity + 发射角 → 抛物线弹道Kinematics.ParabolicPosition
- 空基:初速 CruiseSpeed + 水平发射(θ=0°→ 重力下落Kinematics.ParabolicPosition
- 到达条件Y 坐标到达释放高度
```
#### CloudEntity气溶胶云团

View File

@ -147,7 +147,7 @@ Step 4 — 分配求解
Step 5 — 时序生成
│ 对每个分配:
│ 地基FireTime = 最佳交汇时刻 炮弹飞行时间
│ 空基FireTime = 最佳交汇时刻 平台飞行时间 弹药下落时间
│ 空基FireTime = 最佳交汇时刻 弹药下落时间(固定阵位水平发射)
│ 合并排序 → MergedFireSchedule

View File

@ -4,10 +4,10 @@
| 实体 | 类 | 生命周期 | 主要属性 |
|------|------|------|------|
| 无人机 | `DroneEntity` | 仿真全程 | Pos, Hp, Status, Route, ExposureTime |
| 发射平台 | `PlatformEntity` | 仿真全程 | Pos, PlatformType, StateIdle/FlyingToTarget/ReadyToRelease, AerosolType, MunitionCount, Cooldown, CruiseSpeed, MuzzleVelocity, CurrentVelocity |
| 飞行弹药 | `MunitionEntity` | 发射→到达释放高度 | Pos, LaunchModeAirDrop/GroundArtillery, Target, HasArrived, 空基载机速度矢量 |
| 气溶胶云团 | `CloudEntity` | 弹药到达→消散 | Center, Radius, CoreDensity, IsDissipated |
| 无人机 | `DroneEntity` | 仿真全程 | Pos, Hp, Status, Route, ExposureTime, TraveledArc, Progress |
| 发射平台 | `PlatformEntity` | 仿真全程 | Pos, PlatformType, StateIdle, AerosolType, MunitionCount, Cooldown, CruiseSpeed, MuzzleVelocity, CurrentVelocity, Target, FlightDistance |
| 飞行弹药 | `MunitionEntity` | 发射→到达释放高度 | Pos, Velocity, LaunchAngle, Azimuth, MuzzleVelocity, FlightDuration, Start, Target, HasArrived, ElapsedTime |
| 气溶胶云团 | `CloudEntity` | 弹药到达→消散 | Pos, Radius, Density, Phase, Elapsed, IsDissipated |
| 管控区域 | `ControlZoneEntity` | 仿真全程 | Vertices, Min/MaxAltitude |
| 探测设备 | `DetectionEntity` | 仿真全程 | Source雷达/光电/红外距离+3D球冠参数, 每无人机探测状态机Undetected⇄Detected |
@ -60,13 +60,12 @@ SimulationEngine.Tick()
├─ 【地基】时间到达 → PlatformEntity.Release() → MunitionEntity 创建
│ └─ OnMunitionLaunched ──→ Unity: 炮弹 3D 模型
├─ 【空基】时间到达 → PlatformEntity.CommandFlyTo() → 飞行中 → CanRelease
│ └─ Release() → MunitionEntity(AirDrop, 载机速度) → OnMunitionLaunched
│ └─ OnMunitionLaunched ──→ Unity: 空基投放
├─ 【空基】时间到达 → PlatformEntity.Release() → MunitionEntity 创建
│ └─ OnMunitionLaunched ──→ Unity: 空基发射
├─ MunitionEntity 飞行 → 到达释放高度
│ ├─ 地基抛物线弹道Kinematics.ParabolicPosition
│ └─ 空基:载机速度 + 重力Kinematics.AirDropPosition
│ └─ 空基:水平初速 + 重力launchAngle=0, ParabolicPosition
│ │
│ ├─ CloudEntity 创建
│ ├─ OnCloudGenerated ──→ Unity: 粒子系统