Commit Graph

27 Commits

Author SHA1 Message Date
zhangqing e647723a7a 调整细节 2025-12-08 18:24:10 +08:00
zhangqing dd16f0123a 实现温度系统CPU-GPU双向同步及调试功能
功能改进:
- HeatRegion后自动上传温度数据到GPU
- Tick中GPU计算后自动下载温度数据到CPU
- DownloadTemperatureDataFromGPU回调中自动更新顶点颜色

调试功能:
- HeatRegion后输出距离Hit点最近的4个体素温度
- 包含体素坐标、距离和温度信息,便于调试温度计算

配置优化:
- 温度更新间隔从0.1秒调整为1.0秒,降低性能开销

技术细节:
- 使用异步任务确保线程安全
- GPU数据上传前检查缓冲区就绪状态
- 完整的CPU↔GPU温度数据同步流程

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 18:15:19 +08:00
zhangqing 33d0ff62de 重构温度计算:使用正确的RDG API替代SkipTracking
重构内容:
- 移除SkipTracking标志,使用FRDGPooledBuffer包装外部RHI缓冲区
- 使用RegisterExternalBuffer正确注册外部缓冲区到RDG系统
- 简化lambda捕获列表,移除不需要的SRV/UAV引用
- 添加详细的日志输出以便调试

技术改进:
- RDG系统现在能正确追踪资源依赖和状态转换
- 自动处理内存屏障和资源同步
- 符合UE5最佳实践

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 16:46:42 +08:00
starmen1265 3ea9686964 修改shader 2025-12-07 23:50:00 +08:00
starmen1265 0ee31987b5 温度系统 2025-12-07 01:09:28 +08:00
starmen1265 13de51cf5c 实现DynamicIronBlock温度体素系统基础功能
新增功能:
- 添加FTemperatureVoxel结构体(温度、塑性系数、表面标志)
- 实现自适应温度网格(5mm体素精度,基于BoxSize计算分辨率)
- 实现三线性插值温度/塑性系数采样
- 实现黑体辐射温度可视化(顶点颜色)
- 添加HeatRegion蓝图测试函数
- 添加OnHammerImpact锤击形变函数(体积守恒)

技术细节:
- Phase 1: CPU侧温度网格初始化,支持10cm-100cm+可变尺寸
- Phase 3: 温度可视化系统(20°C灰色 → 1200°C白色)
- 内存占用:30×30×30cm ≈ 1.7MB(60×60×60体素)

待实现:Phase 2 GPU热传导计算

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 00:47:58 +08:00
starmen1265 39512c45b6 添加DynamicIronBlock类,实现继承自ADynamicMeshActor的动态铁块
- 创建DynamicIronBlock类,支持动态Box网格生成
- 集成BVH加速结构用于快速空间查询
- 添加可配置的Box大小和细分参数
- 更新Build.cs添加GeometryScript相关依赖模块

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 00:42:23 +08:00
zhangqing 3a2605fbba 圆形锤击生效,解决卡顿,并生成隆起 2025-11-26 19:17:56 +08:00
zhangqing eb35eedc13 实现敲击凹陷 2025-11-25 22:42:38 +08:00
starmen1265 f9b8c540e6 尝试三投影法解决接缝问题 2025-11-17 00:33:30 +08:00
starmen1265 917f9273e8 修复启动错误 2025-11-16 00:40:42 +08:00
starmen1265 9f018feb7d 调整目录结构 2025-11-16 00:26:50 +08:00
starmen1265 5afc656fba 简化代码,修正固定模式之后切换不回来bug,调整计算偏移阈值为0.5 2025-11-15 22:43:43 +08:00
zhangqing a358e46a59 敲击将输出归一化后给铁块材质用,可以累积锤击量,并且除了接缝之外的其他地方,变形正确,但是现在的面数精度还不够,0.2mm太糙了 2025-11-14 22:31:04 +08:00
zhangqing 2bcbd01c78 制作一个铁块,UV不拉伸的,验证接缝问题,铁块需要细分面数 2025-11-14 19:10:13 +08:00
starmen1265 1b97830536 尝试给位置加offset,没完全成功 2025-11-13 23:58:18 +08:00
zhangqing 9d92b65af6 换了个模型 2025-11-13 19:11:35 +08:00
zhangqing fcc1641189 修改设置碰撞的时候能获取UV,模型用复杂碰撞。修改不用计算Shader而是直接用材质,直接在UV空间模拟计算形变并累积 2025-11-13 18:48:35 +08:00
zhangqing c58581180b 调试计算形变的shader,执行了,但是初始贴图数据就不对。 2025-11-12 19:16:34 +08:00
starmen1265 b027ec6487 调通usf调用,将usf输出添加到材质。但是现在usf正式算法的输出值无法产生形变 2025-11-12 00:17:23 +08:00
starmen1265 f12fef4edd 调试shader 2025-11-11 00:19:51 +08:00
zhangqing d2b4a90251 升级UE5.6.1 2025-11-10 19:18:47 +08:00
starmen1265 1f0fe2c504 运行时成功加载了铁块的动态材质,并执行了变形计算。
在ExecuteDeformationCS中没有成功拿到OutputUAV,待进一步调试
2025-11-09 23:47:55 +08:00
starmen1265 22a19fd190 1.增加贴花,铁锤模式时,贴花跟随鼠标移动,在铁块表面显示击打区域。
2.调整输入方式,在铁锤模式时,整体切换IMC输入。
3.修改铁块材质
2025-11-09 23:20:18 +08:00
zhangqing b09c1e512f 修复UAV贴图创建 2025-11-06 19:16:19 +08:00
starmen1265 94a19cbdf4 使用cursor修正代码 2025-08-06 23:47:59 +08:00
starmen1265 6b3260f35d 初始化 2025-06-19 00:37:06 +08:00