Commit Graph

48 Commits

Author SHA1 Message Date
zhangqing 5e237b8466 Add vertex deformation quality improvement design
Design document for improving mesh topology and UV quality during
plastic deformation. Uses Laplacian smoothing + edge length constraints
to prevent triangle degradation and texture tearing.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-20 19:23:27 +08:00
zhangqing de8b523c3d 顶点色设置成功,顶点从热力体素采样逻辑需要检查,部分热力区域没有采样到顶点 2025-12-22 18:45:49 +08:00
zhangqing 511f43f2c0 温度到颜色处理 2025-12-10 19:10:26 +08:00
zhangqing bba161810a 增加热辐射颜色处理 2025-12-09 19:03:17 +08:00
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
zhangqing 8bde527782 合并 2025-12-08 10:45:13 +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 08d12c4d47 调整灯光,调整材质 2025-12-02 19:08:32 +08:00
zhangqing 6151105119 调整参数 2025-12-01 19:41:08 +08:00
zhangqing b16cad6223 添加HDRI天空,调整铁锈材质效果 2025-12-01 19:08:40 +08:00
zhangqing 065f27169e Merge branch 'main' of http://micecola.top:8418/starmen1265/BladeSmith 2025-11-28 19:06:56 +08:00
zhangqing 5e8af59e4f 制作铁锈材质 2025-11-28 19:06:29 +08:00
starmen1265 47e48d3112 更新 README.md 2025-11-28 17:21:37 +08:00
starmen1265 c2b7ce861e 新增材质 2025-11-28 00:17:40 +08:00
zhangqing 3a2605fbba 圆形锤击生效,解决卡顿,并生成隆起 2025-11-26 19:17:56 +08:00
zhangqing eb35eedc13 实现敲击凹陷 2025-11-25 22:42:38 +08:00
zhangqing 1bd3a370bb 初步尝试BVH 2025-11-24 22:38:36 +08:00
zhangqing a6acab9d0f 接入GeometryScripts,创建形状和碰撞,接入碰撞事件 2025-11-18 22:45:15 +08:00
zhangqing 2b5c8d32ba 合并冲突 2025-11-18 21:40:12 +08:00
starmen1265 8cbe271ca2 试用GeometryScript 2025-11-18 00:17:13 +08:00
zhangqing 3496256e5a 三平面投影研究 2025-11-17 19:24:04 +08:00
starmen1265 f9b8c540e6 尝试三投影法解决接缝问题 2025-11-17 00:33:30 +08:00
starmen1265 1f6067df12 确认可用 2025-11-16 00:44:03 +08:00
starmen1265 82218e6137 尝试删掉placeHodler 2025-11-16 00:41:39 +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
starmen1265 9d3552bac2 铁块模型点更多,实现更精细效果。计算锤击增加法线调整,增加参数控制锤击外面的过渡区大小。 2025-11-15 00:33:24 +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
starmen1265 dcdf999a8e Initial commit 2025-06-19 00:34:02 +08:00