Files
BladeSmith/docs/requirements/03-网格质量与性能需求.md
T
starmen1265 f31518d7e3 docs: 添加玩家行为侧需求(锤击/表面磨损/网格质量)
三个对应玩家直接可见行为的需求文档。锤击形变涵盖各向异性流动与边缘平整;表面磨损涵盖铁锈脱落与无漂移;网格质量承诺连续锻打 50+ 次后无明显退化。

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

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

6.1 KiB
Raw Blame History

网格质量与性能需求

项目: BladeSmith 文档类型: 需求文档(专题) 版本: 2.0 最后更新: 2026-08-11 状态: 整合自原 2026-01-22-网格质量优化细节.md

本文档从玩家视角描述网格质量与性能的需求。技术实现见 design/03-网格质量-增量式优化设计.md。总体需求见 00-锻造系统总体需求.md。


1. 玩家可见行为

1.1 正常网格质量

玩家应该看不到网格退化现象。连续锻打后,金属表面应当保持平滑、连续,不会出现奇怪形状。

初始均匀网格(良好,玩家看不见网格,只看到平滑表面):
  /\  /\  /\
 /__\/__\/__\
  /\  /\  /\
 /__\/__\/__\

1.2 网格退化现象(玩家不应看到)

如果网格质量下降,玩家会直接感受到以下问题:

视觉影响

现象 玩家感受 严重度
着色异常 表面出现条纹、色块 高
闪烁问题 出现"空洞"或闪烁 高
边缘锯齿 刀刃呈锯齿状不平整 高
法线扭曲 表面反光不自然 中
锤击后网格退化(玩家看到的是视觉缺陷):
  /\    /|\    /\  ← 细长三角形导致条纹
 /__\  /_|_\  /__\

     ^^ 过小 ^^  ← 极小三角形导致闪烁

性能影响

现象 玩家感受 严重度
帧率下降 锤击时掉帧,操作延迟 高
响应变慢 锤击到形变有明显延迟 高
碰撞检测失效 锤击检测不准确,"打空" 高

数值稳定性问题(影响碰撞)

现象 玩家感受 严重度
浮点误差累积 形变计算不准确 中
碰撞检测不稳定 锤击位置判定错误 高

1.3 玩家承诺

连续锻打 50-100 次后,网格质量仍应保持良好。

具体表现为:

  • 刀刃仍然平整,无明显锯齿
  • 表面着色无条纹、无闪烁、无"空洞"
  • 锻打不会让金属"莫名其妙"地出现奇怪形状
  • 锤击响应时间 < 10ms(玩家不可察觉)
  • 锤击期间帧率稳定 60 FPS

2. 玩家可调参数

参数功能名 默认值 范围 玩家感受
自动网格优化开关 开启 开启/关闭 是否自动优化网格质量
优化区域范围倍数 1.5 1.0-2.0 锤击影响区域的多少倍范围会被优化
边缘过渡平滑强度 0.5 0.1-1.0 控制顶点平滑的强度。值越大,表面越平滑
平滑迭代次数 2 1-5 平滑操作的重复次数。次数越多,效果越好但越慢
重网格频率 5 3-20 每几次锤击执行一次完整重网格。值越小质量越好但越慢
平滑优化总耗时预算 2.0 1.0-5.0 单次锤击的网格优化时间预算(毫秒)

推荐参数配置

锻造平面(大范围形变):

  • 优化区域范围倍数 = 2.0(大范围优化)
  • 边缘过渡平滑强度 = 0.5
  • 平滑迭代次数 = 2
  • 重网格频率 = 10(低频重网格)

锻造边缘(精细形变):

  • 优化区域范围倍数 = 1.2(局部优化)
  • 边缘过渡平滑强度 = 0.5
  • 平滑迭代次数 = 3
  • 重网格频率 = 5(高频重网格)

性能优先模式:

  • 优化区域范围倍数 = 1.0
  • 边缘过渡平滑强度 = 0.3
  • 平滑迭代次数 = 1
  • 重网格频率 = 20(极低频重网格)

自动调参

系统会根据当前帧率自动调整优化强度:

  • 帧率低(< 30 FPS): 降低优化频率,扩大优化区域
  • 帧率高(> 55 FPS): 提高优化质量,增加优化频率

3. 视觉/听觉反馈

3.1 视觉反馈

  • 平滑形变: 网格优化是透明的,玩家只看到平滑的形变
  • 无闪烁: 表面不会出现闪烁或空洞
  • 无条纹: 表面颜色连续,无明显条纹或色块

3.2 性能反馈

  • 响应迅速: 锤击到形变响应时间 < 10ms
  • 帧率稳定: 锤击期间帧率保持 60 FPS

3.3 调试模式(可选)

开发者可启用调试视图:

  • 退化三角形热图: 显示网格质量低下的区域(红色)
  • 质量热图: 显示网格质量分布(蓝色=好,红色=差)
  • 性能统计: 显示每次锤击的优化耗时

4. 边界与限制(玩家不应期望的行为)

4.1 网格质量限制

  • 极端形变: 当形变超过 50% 时,优化效果显著下降,玩家可能看到表面质量下降
  • 拓扑变化: 系统无法处理网格撕裂、融合等拓扑变化(如锻打折叠金属)
  • 细节损失: 重网格化时,顶点属性需要插值,可能有轻微精度损失

4.2 性能限制

  • 内存占用: 高网格密度(100万+顶点)会增加内存占用
  • 硬件依赖: 低端硬件可能需要降低重网格频率或优化质量

4.3 不可达效果

  • 玩家不能期待系统支持"无限形变"而不产生网格质量下降
  • 系统不会在低端硬件上保持 60 FPS(需要自动降低质量)
  • 网格优化是自动的,玩家不能手动控制每个顶点的移动

5. 验收清单

  • 连续锻打 50 次后网格质量仍良好
  • 无明显细长三角形(长宽比 > 10:1)
  • 刀刃边缘无明显锯齿
  • 表面着色无条纹、无闪烁、无"空洞"
  • 锻打不会让金属"莫名其妙"地出现奇怪形状
  • 锤击响应时间 < 10ms(玩家不可察觉)
  • 锤击期间帧率稳定 60 FPS
  • 网格优化过程透明,不影响形变视觉效果
  • 玩家能通过调整参数控制优化强度和频率
  • 系统能根据帧率自动调整优化设置
  • 单次锤击总耗时(形变+优化)≤ 7ms
  • 碰撞检测稳定,不会出现"打空"或检测错误

6. 引用