Files
BladeSmith/docs/requirements/00-锻造系统总体需求.md
T
starmen1265 4633e866ec docs: 添加锻造系统总体需求与总体技术架构
整合原 01-22 高真实度锻造系统设计与 01-23 淬火退火相变与应力疲劳总览两份重叠文档,拆分为需求侧(玩家/体验视角)与设计侧(技术实现视角)。需求文档不含任何代码与算法名,设计文档定义混合体素-顶点架构、跨子系统共用决策、性能预算。

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-08-11 08:57:55 +08:00

9.9 KiB
Raw Blame History

锻造系统总体需求

项目: 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 锤击形变与刀刃形成

玩家用锤子敲击锻材时:

  • 受击处材料被压紧、向四周流动
  • 材料优先沿"最小阻力方向"流动,而非均匀扩散
  • 在边缘附近锻打时,材料沿边缘延展,逐渐形成平整锐利的刀刃
  • 连续锻打能逐步把铁块变形成目标形状

详见 01-锤击形变与刀刃形成需求.md。

3.2 表面磨损与外观

锻材的表面状态会随锻造过程演变:

  • 新铁块表面是生锈/氧化层(橙红色、粗糙)
  • 锤击区域铁锈脱落,露出光亮金属本体
  • 表面特征(铁锈图案、纹路)必须随形变一起移动,不能"漂移"或"贴在屏幕上"
  • 支持铁锈、氧化层、酸蚀痕迹、划痕等多种表面状态

详见 02-表面磨损与外观需求.md。

3.3 网格质量(隐形但关键)

玩家不应感知到网格退化,因此:

  • 连续锻打 50+ 次后,刀刃仍然平整,无明显锯齿
  • 表面着色无条纹、无闪烁、无"空洞"
  • 锻打不会让金属"莫名其妙"地出现奇怪形状

详见 03-网格质量与性能需求.md。

3.4 加工硬化与晶粒演化

反复锻打会让金属变硬:

  • 同一块金属连续锻打会越来越难变形(需要更用力或更多锤)
  • 加热到一定温度后金属软化,可继续加工(回火机制)
  • 微观上,晶粒尺寸、形状、取向影响材料特性与视觉花纹
  • 大马士革钢的层状花纹是可见的视觉表达

详见 04-加工硬化与晶粒演化需求.md。

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 索引