I'm looking for a way to generate a 3D jigsaw puzzle with random pieces using only nodes. It should be scalable and accept various mesh as input: Grid, plane, cube, spheres, cones, custom mesh. Pieces should be able to be created for quads, triangles, or ngons.
The workflow would be as follows:
- Instance mesh
- Convert faces to curves
- Subdivide curves (to 2 control points with handles)
- Move/Adjust only the non corner curve points /handles towards face center.
- Rotate individual curve handles to randomly create a unique piece shape on each face.
I have started putting together a node tree for this task, but so far I haven't been able to figure out to move individual control points and rotate handle on the face geometry (polygon) underneath.
See images for details.
Here the blender file for those who are wondering what I have done so far. Slide the scale on the curve handle values. I wanted to have the scale change the handles following the face normals or lines.
the lines help randomize the puzzle pieces since it uses a nearest node and the algorithm has to decide randomly which face is the nearest.
The results should look like the following:
Scalable and flexible.