u/ryichando

▲ 2.5k r/blender

A New Open-Source Physics Engine for Blender: ZOZO's Official Contact Solver Add-on

Hello community,

I'm a simulation engineer at ZOZO, Inc., the largest fashion e-commerce company in Japan. As part of my work at ZOZO, I maintain an open-source physics solver, which we call ZOZO's Contact Solver. Some of you may already know it from its feature in Two Minute Papers. Just to be clear, this is a company project, not my personal project, and I've been supported by many colleagues along the way.

Today, I'm fortunate that the company allowed me to disclose our Blender add-on, and I've also been given permission to share it here, as I thought it might be of interest to the community. Without further ado, let me summarize what the catch is:

* Finite Element deformable and penetration-free contacts

* Strictly strain-limited cloth that does not stretch like rubber

* Intended to be used for cloud-deployed GPUs, such as vast.ai or AWS. If you have a powerful NVIDIA GPU, you may run it locally.

* Runs either locally or remotely on Windows and Linux, while macOS is supported via a remote solver engine

* All tools are exposed via MCP, allowing an LLM to set up simulations.

Everything is open source, not just the Blender add-on but also the simulator engine itself. The core technology is backed by a peer-reviewed publication, Transactions on Graphics (SIGGRAPH Asia 2024). It's under the Apache 2.0 license, so you can take this apart, pick only what you need, and embed it into commercial proprietary code, as long as you comply with the license. With coding agents these days, deciphering the codebase and adapting it to your own needs should be reasonably doable.

Also, a disclaimer: this add-on is not a drop-in replacement for existing tools. It's slow and needs many UI clicks even to get a very primitive simulation running, but I provided video tutorials that cover the fundamentals. I am also aware that the add-on still has many gotchas, and while we run many automated tests, they do not cover everything; the simulator itself may stall in difficult situations. The documentation may also sound a bit LLM-spoken (we clarify how LLMs are used), but please kindly understand this is the best I can do with the limited capacity I currently have at work. Nonetheless, I think it's still usable, as shown in the demo video.

Here is the link:

GitHub: https://github.com/st-tech/ppf-contact-solver

Blender add-on development is not my main role at the company, and I'm currently focused on another project. I'd be happy to have your feedback, because if this receives enough attention from the community, I may be given more opportunities to continue working on it in the future.

Thank you!

u/ryichando — 9 hours ago