Need help punching unique holes in mesh

I’m stuck with a modeling problem I’m coming to find is very complex! (for me) I’m trying to model this pillow with holes in it:

As you can see it has larger holes in the middle, with smaller holes surrounding.

I’ve tried the following techniques:
1- use array modifiers to copy holes. That ended up in this mess:
When it came down to joining each hole, with smaller holes around the outside, things got very messy very fast.

2- I tried a simple displacement as a texture. Even with a math multiply node added, the holes simply won’t go deep enough.

Thanks in advance to anybody willing to take a look at this challenge!

Try this:

  • Properties Editor > Render > Feature Set > Experimental
  • Now you have a new option in the material:
    Properties Editor > Material > Settings > Displacement > True or Both
  • Add a Subsurf modifier and check ‘Adaptive’

Some very interesting things happening now:
I’ve played with the settings. True, both, bump. I’ve also messed around with the math node on each one. Some really strange things happening now, and I seem to have very little control over the results. I’d imagine this is not the proper workflow for the results I’m going for. I suspect I’d need to actually model each hole. I’m just not sure how to do this while still maintaining clean topology and the overall shape of the model.

Am I just lacking in knowledge and modeling skill? Or is this something Blender is going to struggle with? Am I better off in another modeling program?

Thanks again for everyone’s help.

Update: Messed with the settings on the subsurf even further. Things are slightly cleaner, but not near the perfect circles I’m looking for. This has also added significant time to render. (probably working with a lot more geometry.)

Any suggestions on how to tackle this from a modeling stance, rather than texturing?

One last thing to try before turning to the modelling approach:

Parallax Mapping:

parallax.blend (1.2 MB)


  • Every image node in this node group should use your heightmap
  • Make and apply a Tangent Space Normalmap
  • Connect the Parallax UVs coming from this node into the Normalmap and any other textures

See if this helps.


Speed7 This is actually the technique I went for with this attempt:

Things got real messy when it came to adding the outlining smaller rows of circles. Topology became finicky. Wanted to see if I could take a more general approach with textures, but I just might end up coming back to this.

Thanks for the help! That will do for now.
I’ll be honest. I followed your steps, but I’m not 100% sure how that worked! The holes got a bit cartoonish when I tried the same texture with color:

I think eventually I’ll do this as a physical mesh.

For perfect results that’s the right thing to do.

Some things you could check though:

Final update:

I managed to get the holes applied to the mesh accurately. I accomplished this through a boolean. Blender had an extremely hard time getting a clean mesh with the boolean, so I did the boolean in C4D, exported back out to Blender in .fbx for final renders, and I was good to go! Thanks everyone for the helpful troubleshooting.

Final Model:

Would you mind posting a shot showing the topology?

Not him, but:

Your friend in this case is the Shrinkwrap, with a little bit of Lattice to correct the shape.

The shape is not perfect like the reference, but, with Blender slow as hell viewport I wouldn’t want to spend another day waiting for it to update the mesh.

I wondered about the topology because he said that he applied boolean in C4D and got a clean mesh right away.

From my experience, Blender has the tendency to fail some boolean operations, not because of bad resulting topology, but because it doesn’t perform the cut at all. Last year (or two years ago) I was making a DZUS fastener and I couldn’t get Blender to do the cuts, so I had to use Cinema 4D as the OP did.

Cinema 4D has an option called “Hide new edges” that outputs a cleaner mesh, adding only the cuts without triangulations, nothing fancy.

I’ll post images of my final topology below. I worked on one corner of the pillow, and used a few mirror modifiers to duplicate. Still not quite the clean mesh I was looking for. I got the effect with a boolean in C4D (with some clean up in blender. I did have triangles, but not nearly as messy as the blender boolean was.)

@SonicBlue I’m really interested in your approach. If I’m understanding right, you cut all of the proper holes in a flat surface, and used shrink wrap to fit it to the pillow shape? I think yours is the cleanest I’ve seen so far. I’d be interested in learning your approach.

I’m wondering if I couldn’t get the blend file to poke around and study with? I like your approach.

This is not the final shape version (I believe) but it’s the only one with the modifiers still live.

Malouf Z Pillow_012_EDIT.blend (7.2 MB)


I see what you mean now by the Lattice. I think that’s the way to go about it. Kept true to the mesh shape while punching accurate holes.

With the Lattice the holes get distorted, so in the other hidden mesh you can see that they have been corrected with LoopTool—>Circle, but this gets the mesh in a state where it’s not smooth anymore, and that’s where the Shrinkwrap helps retain the correct curvature.

The guide shape needs to have a certain amount of resolution to get the correct result, but the more the resolution is risen the slower it gets to work with it, so keep it low when you are still working on the shape, if you don’t want to wait minutes to get an update. You will see the mesh faced, but don’t worry too much about that, it tries to wrap the mesh on a lower resolution version, so the points are not smoothed correctly.

Also, you can work only with a 1/4 of the mesh, this version was still asymmetrical but with a little bit of cleanup you can get it to the correct topology. I don’t remember if this was the version with the small holes, as I reworked the piece with different iterations (till version 20) and the only one with the flat mesh was this.

Thanks a ton. I’m giving it another go with this technique and your model as a guide. I do have one more question:
For the holes, was it as simple as cutting big holes, small holes, and using the “to sphere” transform? I noticed you did have some triangles in there. Is there anything I should look out for with that?

You’ve clearly gone way out of your way just to help! Much appreciated.