4633e866ec
整合原 01-22 高真实度锻造系统设计与 01-23 淬火退火相变与应力疲劳总览两份重叠文档,拆分为需求侧(玩家/体验视角)与设计侧(技术实现视角)。需求文档不含任何代码与算法名,设计文档定义混合体素-顶点架构、跨子系统共用决策、性能预算。 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
9.9 KiB
9.9 KiB
锻造系统总体需求
项目: BladeSmith
文档类型: 需求文档(总体)
版本: 2.0
最后更新: 2026-08-11
状态: 整合自原 2026-01-22-高真实度锻造系统设计.md 与 2026-01-23-淬火退火相变与应力疲劳系统总览.md
本文档从玩家与游戏体验视角描述锻造系统要"做成什么样",不涉及算法、代码、shader 等技术实现细节。技术实现见 design/00-锻造系统总体技术架构.md。
1. 项目定位
BladeSmith 是一款基于 Unreal Engine 5.6 的真实打铁模拟游戏。玩家在游戏中体验锻造刀具的完整流程,刀具的成型过程通过物理计算还原真实锻造效果——每一把刀具的造型、纹路、性能都是独特的。
锻造系统是玩法的核心,负责把"玩家敲锤子"这个动作转化为:
- 看得见的金属形变与表面变化
- 影响后续表现的内部材料状态(硬度、应力、相态、疲劳等)
- 最终决定刀具强度、韧性、耐久度的物理属性
2. 核心体验目标
| 目标 | 含义 | 验收信号 |
|---|---|---|
| 游戏娱乐级真实感 | 物理模型简化但保留核心机制,玩家直觉上"像真打铁" | 玩家测试中能凭常识判断结果 |
| 每一刀都独特 | 锻造路径决定刀具数据,同样的初始材料能产出截然不同的成品 | 同批次的两次锻造产出差异显著 |
| 可读的反馈 | 玩家在任何时刻都能"看懂"金属当前状态,做下一步决策 | 不依赖外部文档即可理解表层状态 |
| 稳定 60 FPS | 锤击操作期间帧率不掉,操作延迟不可察觉 | 详见 §5 性能与质量目标 |
| 渐进式可实现 | 系统可分阶段交付,每阶段独立可玩 | 详见 §6 实施阶段 |
3. 玩家可见的核心物理过程
整个锻造系统要让玩家直观感知以下 7 类冶金学物理现象。这些现象构成 7 个专题需求文档的主题。
3.1 锤击形变与刀刃形成
玩家用锤子敲击锻材时:
- 受击处材料被压紧、向四周流动
- 材料优先沿"最小阻力方向"流动,而非均匀扩散
- 在边缘附近锻打时,材料沿边缘延展,逐渐形成平整锐利的刀刃
- 连续锻打能逐步把铁块变形成目标形状
3.2 表面磨损与外观
锻材的表面状态会随锻造过程演变:
- 新铁块表面是生锈/氧化层(橙红色、粗糙)
- 锤击区域铁锈脱落,露出光亮金属本体
- 表面特征(铁锈图案、纹路)必须随形变一起移动,不能"漂移"或"贴在屏幕上"
- 支持铁锈、氧化层、酸蚀痕迹、划痕等多种表面状态
详见 02-表面磨损与外观需求.md。
3.3 网格质量(隐形但关键)
玩家不应感知到网格退化,因此:
- 连续锻打 50+ 次后,刀刃仍然平整,无明显锯齿
- 表面着色无条纹、无闪烁、无"空洞"
- 锻打不会让金属"莫名其妙"地出现奇怪形状
详见 03-网格质量与性能需求.md。
3.4 加工硬化与晶粒演化
反复锻打会让金属变硬:
- 同一块金属连续锻打会越来越难变形(需要更用力或更多锤)
- 加热到一定温度后金属软化,可继续加工(回火机制)
- 微观上,晶粒尺寸、形状、取向影响材料特性与视觉花纹
- 大马士革钢的层状花纹是可见的视觉表达
3.5 淬火退火相变
热处理是决定刀具最终性能的关键步骤:
- 把高温金属快速冷却(水/油)会显著提升硬度,但同时增加脆性
- 温度区间决定淬火效果:黄金区间(900-1100°C)最佳,过低无效,过高有开裂风险
- 冷却速率决定结果:水淬硬而脆、油淬适中、空冷近似退火
- 缓慢冷却(退火)反而让金属变软但韧性提高
- 视觉上要有清晰的三阶段反馈(详见专题)
详见 05-淬火退火相变需求.md。
3.6 应力累积与开裂
不均匀的形变和热处理会在金属内部累积应力:
- 高应力区域更难锻打(需要更用力)
- 应力梯度会让刀身在锻打中自然弯曲或扭曲
- 应力超过材料强度时会产生裂纹
- 裂纹会沿应力梯度扩展,最终导致刀具断裂
- 玩家可通过"应力扫描"辅助功能主动查看应力分布
详见 06-应力累积与开裂需求.md。
3.7 疲劳累积与刀具耐久度
长期使用让刀具性能衰减:
- 反复锻打累积疲劳,过锻或高应力区加速疲劳
- 疲劳到达阈值后产生疲劳裂纹
- 刀具的耐久度由平均疲劳、裂纹数量、最大应力共同决定
- 使用刀具(切割、砍击)进一步累积损伤
- 回火可部分恢复疲劳,但裂纹无法愈合
- 耐久度归零或主裂纹出现时,刀具失效(断裂)
详见 07-疲劳与刀具耐久度需求.md。
4. 玩家可执行的核心操作
这些操作来自游戏顶层玩法设计,锻造系统必须对其做出物理响应。
| 操作 | 锻造系统需要响应的行为 |
|---|---|
| 加热 | 提升温度,增加塑性,软化已硬化的金属,触发回火/相变重置 |
| 捶打 | 形变、表面去锈、累积应变/硬化/应力/疲劳、维护网格质量 |
| 切割(电锯) | 快速改变锻材形状(独立子系统) |
| 打磨 | 改变表面粗糙度、微调形状、修复表面损伤 |
| 淬火 | 快速冷却触发马氏体相变,提升硬度/脆性,留下氧化层 |
| 强度测试 | 提供场地与道具,验证刀具性能(独立玩法场景) |
5. 性能与质量目标
5.1 帧率与延迟
| 指标 | 目标 |
|---|---|
| 锤击操作期间帧率 | 稳定 60 FPS |
| 单次锤击响应时间 | < 10 ms(玩家不可察觉) |
| 锤击形变计算预算 | 2-3 ms |
| 网格质量优化预算 | 1-2 ms |
| GPU 物理计算预算 | 0.5-1 ms(异步) |
| 顶点属性/材质更新预算 | 0.5-1 ms |
| 总锤击开销上限 | ≤ 7 ms |
5.2 规模
| 维度 | 目标 |
|---|---|
| 单铁块网格顶点数 | 20-50 万(基础),刀刃区域可局部加密到 100 万/cm² |
| 体素分辨率 | 50×50×50(典型),可配置 30³-80³ |
| 单铁块内存 | ~30 MB |
| 连续锻打次数 | 连续 50-100 次锤击后网格质量仍良好 |
5.3 质量验收原则
- 网格质量: 连续锻打 50 次后无明显细长三角形(长宽比 > 10:1),无明显锯齿
- 表面稳定性: 形变后表面纹理(铁锈图案)不漂移
- 可调性: 所有可调参数可在编辑器实时调节
- 可调试性: 提供体素场可视化、应力热图、属性统计等调试工具
6. 设计原则
| 原则 | 含义 |
|---|---|
| 游戏娱乐级精度 | 简化物理模型,保留核心机制与真实感,不做科研级精度 |
| YAGNI | 避免过度设计,专注核心功能,不为假想需求预留 |
| 渐进式实现 | 分阶段交付,每阶段可独立运行与验收 |
| 架构扩展性 | 为未来功能(多材料、焊接、VR 等)预留接口,但不提前实现 |
| 过程高辨识,结果真物理 | 热处理等关键时刻给玩家强反馈,平时展示真实物理表现 |
| 辅助功能可选 | 应力扫描、疲劳扫描等"作弊视图"按需启用,不污染真实视觉 |
7. 验收路径(实施阶段)
按以下阶段交付,每阶段独立验收。详细任务排期见各专题需求文档。
| 阶段 | 范围 | 主要验收 |
|---|---|---|
| 阶段 1 | 锤击形变(各向异性) + 表面磨损 + 基础网格平滑 | 锻造边缘材料沿边缘流动;表面铁锈脱落;形变无漂移 |
| 阶段 2 | 完整网格质量系统(边翻转/平滑/重网格) | 连续锻打 50 次网格仍均匀,无细长三角形 |
| 阶段 3 | 物理模拟扩展(加工硬化/淬火/退火) | 连续锻打变硬;加热软化;淬火硬度显著提升 |
| 阶段 4 | 晶粒与视觉(晶粒演化/大马士革/应力可视化/开裂) | 高应变区可视化;支持大马士革花纹;应力过大出现裂纹 |
| 阶段 5 | 疲劳与耐久度 | 反复锻打累积疲劳;耐久度下降;刀具最终可失效 |
| 阶段 6 | 优化与打磨 | Unreal Insights 验证 60 FPS;所有参数蓝图可调;文档齐全 |
8. 风险(玩家可感知的失败模式)
这些是锻造系统做错时玩家会直接感受到的问题,设计阶段需重点规避:
| 风险 | 玩家感受 | 严重度 |
|---|---|---|
| 物理模型过于简化 | "假"、"不像打铁" | 中 |
| 系统过度复杂,周期失控 | 长期无新版可玩 | 高 |
| 顶点属性在网格重建时丢失 | 锻打中途表面颜色/状态错乱 | 高 |
| 大马士革花纹实现困难 | 阶段 4 可选功能,可降级或推迟 | 中 |
| 网格重建开销过大 | 锤击延迟突增、掉帧 | 高 |
| 参数难调 | 不同硬件表现差异大 | 中 |
9. 未来扩展方向(超出当前需求范围)
以下方向不在当前需求内,但系统设计不应阻止未来加入:
- 多材料支持(铜、青铜、钛合金)
- 焊接系统(多块金属连接与材料混合)
- 锻造工具多样性(平锤、圆锤、凿子等不同锤头形状)
- 多人协作锻造(网络同步动态网格)
- VR 支持(空间交互与力反馈)
10. 参考资料
10.1 物理基础
- 《金属塑性成形原理》(清华大学出版社)
- 《材料科学基础》(上海交通大学出版社)
- 《金属热处理原理与工艺》(机械工业出版社)
- Metals Handbook: Forging and Forming / Heat Treating (ASM International)
10.2 游戏案例
- My Summer Car — 机械装配真实度
- BeamNG.drive — 动态网格形变
- Dwarf Fortress — 材料属性系统
10.3 索引
- 技术实现总览: design/00-锻造系统总体技术架构.md
- 专题需求: 01~07
- 原始设计文档(归档): _archive/plans/