Simulating Origami in 3D

Last year around mid-March, I was developing a game that was based around origami. This led me to try to simulate folding origami in 3D.

After some preliminary research I came up with a couple of solutions.

Using Maya

My first idea with using Maya was to use the bend deformer with very small handle lengths. This works with one fold, however if you try to apply another bend deformer on the same mesh, say for instance you wanted to fold your plane in half, and then in half the other way, the bend deformer doesn’t take into account the multiple planes stacked on top of each other. This resulted in the faces of the mesh intersecting with each other

The second idea I had stemmed from a script for Maya that I found created by Im3DJoe called polyFold for Maya v1.02. This script solved the issue that I was running into with the multiple faces being on to of each other. Something that I ran into fairly quickly was that there are certain folds in origami that this script wouldn’t support, such as squash folds. This script also would stretch the faces in some scenarios, which in my case, I didn’t prefer because that takes out the realism of the folding simulation.

Using Marvelous

Folding paper is very similar to folding cloth that’s very stiff. My thought process was to create cloth simulations with very rigid fabric. The issue with this is that I don’t know how to use Marvelous, nor do I have a license to you it, however if my further research makes this a viable option, I would invest in Marvelous.

Using Houdini

Houdini is the other option that I am wanting to try. I’ve had experience with procedural modeling in Houdini and the ability to group points and edges seems useful. Houdini also has a pretty robust cloth simulator called vellum, which might also be useful.