2026-01-23 18:52:18 +08:00
2026-01-23 00:31:21 +08:00
…
2026-01-23 18:52:18 +08:00
2026-01-23 10:41:19 +08:00
…
2026-01-21 23:21:13 +08:00
2026-01-23 00:31:21 +08:00
…

BladeSmith - 打铁模拟游戏

这是一个基于UE5开发的打铁游戏,玩家可以在游戏中体验锻造刀具的真实流程,刀具成型过程通过物理计算还原真实锻造效果,锻造每一把刀具的造型,纹路,性能都是独特的。

核心功能

  • 切割:通过电锯切割锻材,快速成型
  • 加热 通过温度控制锻材可塑性以及强度
  • 捶打: 通过锤击改变锻材形状
  • 打磨: 通过打磨,改变锻材表面光滑度与微调形状
  • 淬火: 通过淬火,改变锻材强度
  • 强度测试:提供场地和一些测试道具,测试刀具性能。

技术实现

  • GeometryScript: 使用GeometryScript生成动态模型,并不断调整模型的形状
  • 动态材质: 通过动态材质来表现锻材表面的缺陷(锈蚀,坑洞,划痕,油污,灰尘,加热发光),并通过加工移除这些缺陷
  • 以塑性力学/金属材料学/金属热处理为核心的数据模拟框架:
  • 应力损毁: 强度不够,或者内部应力不平衡时,遇到较大冲击,刀具损毁。
  • 数据存储:刀具数据存储,每一把到存储其独特的数据,来保存其各个属性。

主要组件

  1. AIronBlock - 铁块Actor

    • 管理变形纹理和Compute Shader
    • 处理锤击碰撞和变形计算
    • 更新动态材质参数
  2. UBladeSmithWeaponComponent - 锤子组件

    • 第一人称锤击交互
    • 射线检测和碰撞处理
    • 音效和动画播放
  3. FDeformationCS - Compute Shader

    • GPU并行变形计算
    • 基于距离的衰减效果
    • 塑性变形模拟

文件结构

Source/BladeSmith/
├── IronBlock.h/cpp          # 铁块实现
├── FDeformComputeShader.h/cpp # Compute Shader
├── BladeSmithWeaponComponent.h/cpp # 锤子组件
├── BladeSmithCharacter.h/cpp # 角色类
└── BladeSmith.Build.cs      # 模块配置

Shaders/Private/
└── DeformationCS.usf        # Compute Shader源码
  • 添加新的物理参数(弹性、硬度等)
  • 实现更复杂的碰撞检测
  • 集成第三方物理引擎

许可证

本项目基于Epic Games的UE5.5开发,遵循相应的许可证条款。

S
Description
No description provided
Readme 4.2 GiB
Languages
C++ 97.5%
C# 1.4%
C 0.6%
CMake 0.5%