项目简介
提供鲁棒、无穿透的接触求解,可扩展至1.8亿接触。采用有限元方法处理可变形体,全GPU单精度运行,附带Python API、Blender插件和Docker部署。
README 预览
# ZOZO's Contact Solver 🫶\n\nA contact solver for physics-based simulations\ninvolving 👚 shells, 🪵 solids and 🪢 rods. All made by [ZOZO, Inc.](https://corp.zozo.com/en/), the largest fashion e-commerce company in Japan.\n\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/getting-started.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/run-all-once.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/run-all-once-win.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/make-docs.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/build-docker.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/release-win.yml)\n[](https://github.com/st-tech/ppf-contact-solver/actions/workflows/blender.yml)\n\n\n> 🤖 We **highly** respect that readers expect to hear the author's original voice and tone, which we work to retain throughout. Our use of LLMs is clarified in [(Markdown)](./articles/llm_transparency.md).\n\n## 👀 Quick Look\n\n🎨 Simulate remotely from our [Blender add-on](https://st-tech.github.io/ppf-contact-solver) (screenshots taken on macOS; you can also run locally if you have a modern NVIDIA GPU on Windows or Linux)\n\n\n\n🚀 Or double click `start.bat` (Windows) or run a Docker command (Linux/Windows) to get it running\n\n\n\n🌐 Click the URL and explore our examples\n\n\n\n## ✨ Highlights\n\n- **💪 Robust**: Contact resolutions are penetration-free. No snagging intersections.\n- **⏲ Scalable**: An extreme case includes beyond 180M contacts. Not just one million.\n- **🚲 Cache Efficient**: All on the GPU runs in single precision. No double precision.\n- **🥼 Not Rubbery**: Triangles never extend beyond strict upper bounds (e.g., 1%).\n- **📐 Finite Element Method**: We use FEM for deformables and symbolic force jacobians.\n- **⚔️ Highly Stressed**: We run GitHub Actions to run stress tests [10 times in a row](#️-ten-consecutive-runs).\n- **
常见问题 (2)
故障排除如何修复在启动 Blender 模拟时 Armature 修改器未生效的问题?
故障排除
如何修复在启动 Blender 模拟时 Armature 修改器未生效的问题?升级到 Blender Add-on 1.0.11 (addon-2026-06-01-1511) 或更高版本,以及 ZOZO Contact Solver 2026-06-01-13-25 或更高版本;此 bug 已在这些版本中正式修复。作为临时解决方法,将骨架从第 1 帧的静止位置设置动画,使其在第 2 帧达到所需姿势,然后创建一个与实际 pin group 相反的 pin group,持续时间为两帧,使网格在骨架变形准备就绪之前不进行模拟。在此设置过程中,实际 pin group 的变形也会被缓存。
故障排除为什么在Windows上Blender PPF Contact Solver传输失败,出现“PanicException: index out of bounds”?
故障排除
为什么在Windows上Blender PPF Contact Solver传输失败,出现“PanicException: index out of bounds”?此错误通常出现在Blender项目文件路径或插件安装目录包含空格时。请将.blend文件保存至无空格的路径(例如C:\\Projects),并确保插件安装在无空格的目录中。重启Blender后重新尝试传输。如果问题仍然存在,请检查你的Windows用户名是否包含空格,因为临时目录也可能受到影响。