- guanghan_windows.py: Windows launcher script - inject_lightbox: lightbox injection utilities - handover docs: future missions proposal, vehicle creation guide, format guide Co-Authored-By: Claude <noreply@anthropic.com>
278 lines
9.6 KiB
Markdown
278 lines
9.6 KiB
Markdown
# KSP Wiki 载具技术参数提取指南
|
||
|
||
> **版本**: v1.1
|
||
> **用途**: 从 KSP `.craft` 文件中提取 wiki 页面所需的全部技术参数
|
||
> **目标读者**: KSP 技术玩家 & 设定团队成员
|
||
> **前提**: 读者已了解 KSP craft 文件格式(PART 块结构、坐标系等)
|
||
|
||
---
|
||
|
||
## 1. 概述
|
||
|
||
本文档定义了创建 KSP Wiki 载具页面时,**可从 craft 文件及游戏内直接获取的技术参数**。这些参数构成 wiki 页面 Infobox 和技术规格章节的核心数据。
|
||
|
||
> **不在本文档范围内**: 设计背景、历史叙事、运营故事、任务时间线、安全记录、命名/代号等需人工设定的内容。
|
||
|
||
---
|
||
|
||
## 2. 通用技术参数(所有载具类型)
|
||
|
||
### 2.1 质量参数
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 | 单位 |
|
||
|---|------|---------------|----------|------|
|
||
| 1 | **干重** | 每个 `PART` 块的 `mass` | 所有 part 质量求和(含对称副本) | 吨 |
|
||
| 2 | **满载质量** | `PART` 的 `mass` + `RESOURCE` 的 `amount` × `density` | 干重 + 所有资源质量 | 吨 |
|
||
| 3 | **推进剂质量** | `RESOURCE` 块 | 各资源 `amount` × `density` 求和 | 吨 |
|
||
|
||
**注意**:
|
||
- `symmetry = N` 的 part 质量需乘以 N
|
||
- 常见资源密度: `LiquidFuel` = 0.005, `Oxidizer` = 0.005, `MonoPropellant` = 0.008(吨/单位)
|
||
|
||
### 2.2 尺寸参数
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 | 单位 |
|
||
|---|------|---------------|----------|------|
|
||
| 4 | **长度** | `part.position` (x, y, z) | Y 轴方向最大值 - 最小值 | 米 |
|
||
| 5 | **宽度** | `part.position` | X 轴方向最大值 - 最小值(考虑对称) | 米 |
|
||
| 6 | **高度** | `part.position` | Z 轴方向最大值 - 最小值 | 米 |
|
||
|
||
**坐标系说明**:
|
||
- KSP craft 文件使用右手坐标系
|
||
- **Y 轴** = 垂直方向(通常对应载具长度)
|
||
- **X 轴** = 横向(对应宽度/翼展)
|
||
- **Z 轴** = 纵深(对应高度)
|
||
- 实际对应关系取决于载具建造方向,提取后需人工校验
|
||
|
||
**重要**: 尺寸为包围盒估算值,需与游戏内实际外观对比校验。
|
||
|
||
### 2.3 乘员参数
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 |
|
||
|---|------|---------------|----------|
|
||
| 7 | **乘员容量** | `MODULE { name = ModuleCommand }` 内的 `CrewCapacity` | 求和所有 command pod |
|
||
|
||
### 2.4 推进系统
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 |
|
||
|---|------|---------------|----------|
|
||
| 8 | **主引擎型号** | `PART` 的 `part` 字段(如 `liquidEngine3`) | 提取引擎 part 名称列表 |
|
||
| 9 | **主引擎数量** | `PART` 块 + `symmetry` 字段 | 统计引擎 part 数量(含对称副本) |
|
||
| 10 | **推进剂类型** | `RESOURCE` 块的 `name` | 如 `LiquidFuel`, `Oxidizer`, `MonoPropellant` |
|
||
| 11 | **推进剂储量** | `RESOURCE` 块的 `amount` | 各资源分别列出 |
|
||
| 12 | **辅助推进器** | `PART` 名称含 `RCS` | RCS 型号和数量 |
|
||
| 13 | **各级 Δv** | — | 🔵 使用 MJ/KER 在 VAB 中读取 |
|
||
| 14 | **推重比 (TWR)** | — | 🔵 使用 MJ/KER 读取(区分海平面/真空) |
|
||
|
||
### 2.5 电力系统
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 |
|
||
|---|------|---------------|----------|
|
||
| 15 | **太阳能板** | `MODULE { name = ModuleDeployableSolarPanel }` 或固定太阳能板 part | 型号和数量 |
|
||
| 16 | **核发电机** | `MODULE { name = ModuleGenerator }` 或 `ModuleRadioisotopeGenerator` | 型号和数量 |
|
||
| 17 | **蓄电池** | 含电荷资源 (`ElectricCharge`) 的 part | 型号和容量 |
|
||
|
||
### 2.6 结构配置
|
||
|
||
| # | 参数 | Craft 文件位置 | 提取方法 |
|
||
|---|------|---------------|----------|
|
||
| 18 | **分级配置** | Staging 信息 + 分离装置 part | 各级包含的引擎和分离装置 |
|
||
| 19 | **外挂/助推器** | `PART` 的 `symmetry` 字段和子节点树 | 通过对称性和 parent 链识别 |
|
||
| 20 | **着陆装置** | `PART` 名称含 `LandingGear` 或 `LandingLeg` | 型号和数量 |
|
||
| 21 | **对接口** | `PART` 名称含 `dockingPort` | 型号和数量 |
|
||
| 22 | **货舱** | `PART` 名称含 `CargoBay` | 型号和尺寸 |
|
||
| 23 | **整体布局** | Part 树结构 | 🟢 拓扑可提取 → 🔵 需人工描述 |
|
||
|
||
---
|
||
|
||
## 3. 载具类型专项参数
|
||
|
||
### 3.1 航天飞机 (Space Shuttle)
|
||
|
||
| # | 参数 | 来源 | 提取方法 |
|
||
|---|------|------|----------|
|
||
| S1 | **翼面部件** | 🟢 Craft | 含 `ModuleControlSurface` 或 `ModuleLiftingSurface` 的 part |
|
||
| S2 | **热防护** | 🟢 Craft | HeatShield part 名称和 ablator 储量 |
|
||
| S3 | **逃逸系统** | 🟢 Craft | LaunchEscapeSystem part |
|
||
| S4 | **着陆方式** | 🟢 Craft | 有起落架 = 跑道着陆;无 = 水溅落/其他 |
|
||
|
||
### 3.2 母舰 (Mothership)
|
||
|
||
| # | 参数 | 来源 | 提取方法 |
|
||
|---|------|------|----------|
|
||
| M1 | **环形结构** | 🟢 Craft | 旋转部件 (Gravitron/Centrifuge) part 和半径 |
|
||
| M2 | **搭载子载具** | 🟢 Craft | 子节点树中的独立载具 part 群组 |
|
||
| M3 | **对接口配置** | 🟢 Craft | 各对接口类型和位置 |
|
||
|
||
### 3.3 空间站 (Space Station)
|
||
|
||
| # | 参数 | 来源 | 提取方法 |
|
||
|---|------|------|----------|
|
||
| ST1 | **模块数量** | 🟢 Craft | 独立 part 群组(通过分离节点划分) |
|
||
| ST2 | **对接口总数** | 🟢 Craft | DockingPort part 数量 |
|
||
|
||
### 3.4 基地 (Base)
|
||
|
||
| # | 参数 | 来源 | 提取方法 |
|
||
|---|------|------|----------|
|
||
| B1 | **模块数量** | 🟢 Craft | 独立 part 群组 |
|
||
| B2 | **移动能力** | 🟢 Craft | 是否有轮毂/履带 part |
|
||
|
||
---
|
||
|
||
## 4. Craft 文件提取速查
|
||
|
||
### 4.1 关键字段映射表
|
||
|
||
| 需要的参数 | Craft 文件字段 | 处理方式 |
|
||
|-----------|---------------|----------|
|
||
| 干重 | `PART.mass` | 求和(× symmetry) |
|
||
| 满载质量 | `PART.mass` + `RESOURCE.amount` × `density` | 求和 |
|
||
| 尺寸 | `PART.position` (x, y, z) | 包围盒极值差 |
|
||
| 乘员容量 | `CrewCapacity` (在 ModuleCommand 内) | 求和 |
|
||
| 引擎型号 | `PART.part` (含 Engine 的 part 名) | 去重列表 |
|
||
| 引擎数量 | `PART` 计数 × `symmetry` | 求和 |
|
||
| 推进剂类型 | `RESOURCE.name` | 去重列表 |
|
||
| 推进剂储量 | `RESOURCE.amount` | 按类型分别列出 |
|
||
| 太阳能板 | Part 名含 `SolarPanel` | 计数 |
|
||
| 对接口 | Part 名含 `dockingPort` | 计数 |
|
||
| 着陆装置 | Part 名含 `LandingGear`/`LandingLeg` | 计数 |
|
||
| RCS | Part 名含 `RCS` | 计数 |
|
||
| 分级 | Staging 数据 + 分离装置 part | 分析各级组成 |
|
||
|
||
### 4.2 注意事项
|
||
|
||
1. **对称性**: `symmetry = N` 表示 N 个副本(含自身),质量/数量计算需乘以 N
|
||
2. **单位**: 质量 = 吨,距离 = 米
|
||
3. **子节点**: Part 通过 `parent` 字段形成树状结构,分析拓扑需遍历整棵树
|
||
4. **Mod 部件**: 非原版 part 名称需对照 mod 文档识别
|
||
5. **尺寸估算**: 包围盒可能与实际外观有偏差,提取后务必与游戏内截图对比
|
||
|
||
### 4.3 推荐工具
|
||
|
||
| 工具 | 用途 |
|
||
|------|------|
|
||
| **KSP VAB/SPH** | 游戏内直接查看载具参数 |
|
||
| **MechJeb (MJ)** | 读取 Δv、TWR、各级参数 |
|
||
| **Kerbal Engineer Redux (KER)** | 实时飞行数据和 VAB 数据 |
|
||
| **自定义脚本** | Python/Node 脚本批量解析 craft 文件 |
|
||
|
||
---
|
||
|
||
## 5. 参数完整性检查清单
|
||
|
||
提取完成后,确认以下参数已齐全。缺少的项目需标注"未提取"。
|
||
|
||
### 所有载具类型
|
||
|
||
- [ ] 干重 (吨)
|
||
- [ ] 满载质量 (吨)
|
||
- [ ] 长度 (米)
|
||
- [ ] 宽度/翼展 (米)
|
||
- [ ] 高度 (米)
|
||
- [ ] 乘员容量
|
||
- [ ] 主引擎型号 & 数量
|
||
- [ ] 推进剂类型 & 储量
|
||
- [ ] 各级 Δv(MJ/KER 读取值)
|
||
- [ ] 推重比 TWR(MJ/KER 读取值)
|
||
- [ ] 发电装置类型
|
||
- [ ] 着陆装置: 有/无
|
||
- [ ] 对接口数量
|
||
|
||
### 按类型补充
|
||
|
||
**航天飞机**:
|
||
- [ ] 翼面部件
|
||
- [ ] 热防护 part
|
||
- [ ] 逃逸系统: 有/无
|
||
|
||
**母舰**:
|
||
- [ ] 旋转结构: 有/无
|
||
- [ ] 搭载子载具识别
|
||
- [ ] 对接口配置
|
||
|
||
**空间站**:
|
||
- [ ] 模块划分
|
||
- [ ] 对接口总数
|
||
|
||
**基地**:
|
||
- [ ] 模块划分
|
||
- [ ] 移动能力: 有/无
|
||
|
||
---
|
||
|
||
## 附录 A: 参数采集表模板
|
||
|
||
复制此模板,逐项填写从 craft 文件中提取的参数。
|
||
|
||
```markdown
|
||
# [载具英文名称] 技术参数采集表
|
||
|
||
## 基本信息
|
||
- Craft 文件名:
|
||
- Craft 文件路径:
|
||
- 使用的 Mod (若有):
|
||
|
||
## 质量
|
||
- 干重 (吨):
|
||
- 推进剂质量 (吨):
|
||
- 满载质量 (吨):
|
||
|
||
## 尺寸 (估算值,需游戏内校验)
|
||
- 长度 (米):
|
||
- 宽度 (米):
|
||
- 高度 (米):
|
||
|
||
## 乘员
|
||
- 乘员容量:
|
||
|
||
## 推进系统
|
||
- 主引擎型号:
|
||
- 主引擎数量:
|
||
- 推进剂类型:
|
||
- 推进剂储量:
|
||
- 各级 Δv (MJ/KER):
|
||
- 第一级:
|
||
- 第二级:
|
||
- ...
|
||
- 推重比 TWR (真空):
|
||
- RCS 型号:
|
||
- RCS 数量:
|
||
|
||
## 电力系统
|
||
- 太阳能板: 型号 × 数量
|
||
- 核发电机: 型号 × 数量
|
||
- 蓄电池: 型号 × 数量
|
||
|
||
## 结构配置
|
||
- 分级数:
|
||
- 助推器: 有/无,数量:
|
||
- 着陆装置: 有/无,型号:
|
||
- 对接口: 数量
|
||
- 货舱: 有/无
|
||
|
||
## 航天飞机专项
|
||
- 翼面部件:
|
||
- 热防护 part:
|
||
- 逃逸系统: 有/无
|
||
|
||
## 母舰专项
|
||
- 旋转结构: 有/无
|
||
- 搭载子载具:
|
||
```
|
||
|
||
---
|
||
|
||
## 附录 B: 已有 Wiki 页面技术参数参考
|
||
|
||
以下已有页面可作为参数填写格式的参考(查看其 Infobox 中的技术参数部分):
|
||
|
||
| 载具 | 文件 | 参考价值 |
|
||
|------|------|---------|
|
||
| Vulture Shuttle | `data/wiki/vulture_shuttle_zh.html` | 航天飞机 Infobox 完整范例 |
|
||
| Echo Shuttle | `data/wiki/echo_shuttle_zh.html` | 轻型航天飞机参数格式 |
|
||
| Enterprise Shuttle | `data/wiki/enterprise_shuttle_zh.html` | 中型航天飞机参数格式 |
|
||
| Xihe-class | `data/wiki/xihe_mothership_zh.html` | 母舰级别 Infobox 范例 |
|
||
| XH-01 Xihe | `data/wiki/xh01_xihe_zh.html` | 单舰 Infobox 范例 |
|
||
| ST-01 Wanxingyuan | `data/wiki/st01_wanxingyuan_zh.html` | 复杂母舰参数范例 |
|