Mapping patterns to a body – is ShapeMap the way to go?

Hi everyone,

I’m new to Rhino / Grasshopper and attempting to map patterns to a body shape. The closest I got is using ShapeMap, but there’s still a few problems.

Ideally, I’d like to generate a pattern running seamlessly across the body in 3D, with all parametric editing capabilities, e.g. with the Parakeet plug in. Then I’d like to export the generated curves per 2D panel (so the pattern is “cut” at specific seams – see UVs screenshot).

I’ve had some success applying a pattern to a NURBS surface of the chest area (created with Network Srf), as it seems that most functionality for mapping curves in Grasshopper is for surfaces, but I haven’t found a good way to convert the whole of the body shape into something editable. Also, I couldn’t create a surface with evenly distributed vertices, so the pattern was warping in a way I couldn’t control. I abandoned this workflow and tried ShapeMap.

I think I’m getting somewhere with ShapeMap – when I do front and back pieces separately, it flattens them relatively accurately, and I have a 2D pattern I can bake and export. I convert the mesh to SubD using QuadRemesh, then plug into Shape Solver.

However, the Voronoi pattern is not seamless as I need to have a node graph per piece (front, back, sleeve, etc).

I also can’t find instructions on how to change the way ShapeMap flattens pieces – front and back look ok, but the sleeve is flattened into a round blob.

If anyone could help me solve this or point me in a direction of a workflow that makes more sense, then that would be appreciated!

BodyPatternMapping01.gh (38.5 KB)

BodyPatternMapping01.3dm (3.7 MB)

Just as with how you handled the mesh for the body parts (dividing it into front and back sections), the mesh for this sleeve also needs a bit of processing — create a very tiny gap at the mesh seam, as shown in the example below.

After that, you can use ShapeMap for texture processing. This is for your reference.
Mesh_SM_Demo.gh (124.3 KB)

Would unwelding the seam work too? For unroll that’s usually enough

Unwelding the seam is not enough - a real gap is needed here.

Hi, thank you so much for pointing out the error, this helped a lot! I’ve got a consistent scale of pattern going across now.

BodyPatternMapping04_F_02.3dm (1.2 MB)

BodyPatternMapping04_F_02.gh (50.7 KB)

However, I’m still unsure how to fix the seams. Is it basically impossible to do with Shaper3D? As far as I understand, it flattens each panel from the mesh, the pattern is mapped in 2D, then Shaper transfers it back to the 3D mesh.

Is there a way to have a continuous, seamless pattern going across the suit? Whether it’s Shaper3D or another method. I’ve tried breaking up the body into less pieces, but Shaper then didn’t flatten the piece correctly.

Thanks again for your help!

You may give it a try with the ShapeTexture and FYI,


ShapeTexture.gh (148.2 KB)

About the ShapeTexture Rhino BETA Feature: ShapeMap for GH1

A quad or tri mesh with good topology would allow mapping a pattern to the quads like in this topic:

I downloaded the new version and it looks promising – I’m looking forward to trying it out properly later.

It’s great that the sleeve pattern is matching at the seam, but I’m still not sure how to go about lining up the tiling across different marts of the mesh. Is there something obvious I’m missing? I’ve changed the MoudleCount number, but that didn’t really help.

Also, would this method only work with a square grid tiling? If I was to use Parakeet’s tiling system (e.g. “snub square” I used in the last example), is that possible?

Thank you!

Thank you for the suggestion! I think it might be beyond my current skill level, but I’ll give it a go