Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  

Textures, maps & Bump maps

Recommended Posts

Hi All.

Am having lots of success with printing now. Thanks for previous assistance.

On some shapes (some complax buildings for example) it is producing better results by printing in parts and then assembling like an Airfix type kit.

Doing it this way, I thought I could then add some fine "texture", for example brick or stone. I am sure there must be info on it but Im drowning in google search results!

I have downloaded trials, evaluations, watched hours of Youtubes but still struggling. For example, I can add a texture in Rhino or Photoshop CC and it renders fine but I do realise the difference between "rendering" a texture and printing it. I have experimented using jpg images of walls and then "pastry cutting the wall shape" and window holes and printing it which sort of works but I am convinced I am missing something basic which should make this simple.

I have uploaded to dropbox 2 files.

1) The gcode for a successfully printed "wall" but without texture

2) A Cura screen grab of a part on the build plate. Again successful but untextured.

This is enabling me to make brilliant small building, quickly and successfully but roof tiles/stone walls/brick walls would take it into another level





Share this post

Link to post
Share on other sites

Research "displacement" maps, not bump maps - a displacement map actually modifies the geometry, while a bump map only causes the appearance of modified geometry in rendering programs. Other than displacement maps being more computationally intensive, they are otherwise the same thing.

You can do this in Rhino, using the "ApplyDisplacement" command.


Share this post

Link to post
Share on other sites

Soooooo nearly there!

I have spent the days since @nick Foley response, reading watching and trying to get this right. After trying Rhino without much luck and almost every version of 3d software, plugins etc I am definitely going in the right direction and almost, really almost, there but cannot find anything that gets me "there".

I have had most success with importing an stl to BLENDER, adding a material and a displacement. I know my remaining problem is size/pixel/subdivision/tile related but can't relate one with another and so am ending up with the image below, which is as close as I am getting.

Can anybody point me in the right direction for fine tuning please.


I am getting fantastic UM prints of what I am managing to displave, so am really very close.

Oh, the image I am using is a bmo of roof tiles.


Share this post

Link to post
Share on other sites


I know the roof file has errors - I haven't bothered to sort it yet as I do't want to spend time on a mesh that may not work so please bear with me! It's the displacement principle I am struggling with.

Here are the two "un-modified" files I am working with.






Share this post

Link to post
Share on other sites

Couldn't load an .AMF file so I applied your texture as a displacement map to a rectangle in Rhino. First step though was to open the BMP in photoshop and eliminate all color data, and renormalize your texture so that it was pure grayscale and had a more sensible range for applying as a displacement map. I also upscaled it. You probably should look for some higher quality image files if you want cleaner tiles when you print them.

In Rhino's displacement map tool, you just need to increase the quality settings from where it starts and things look decent.

Attached are the results:




Share this post

Link to post
Share on other sites

For true displacement to work, you need a poly model, not NURBS. So Rhino is a shoddy choice for messing with displacement, especially since it has no proper mapping tools like it's mesh-based brethren do. :)

Blender on the other hand has all you need, but UV mapping is not all that simple if you are just beginning. Let's say you want to displace a rectangular wall, like Nick did here. You can selectively apply your map to the polygons you want. That way the outer facing wall will have a brick texture, for example, while the other five sides of the wall tile will remain perfectly straight.

All 3d apps have various mapping types (planar, box, spherical, UVW unwrap etc.) which determine how your map is "projected" onto your model. Those same controls define what size the map is once projected to the model, and which polygons will be affected by that projection. In order for displacement to do it's job, you need to have a sufficiently segmented surface to begin with - no detail in the map will be visible if it's smaller than your smallest polygon.

Also, like Nick said, the maps you use should be pure grayscale. Generally 50% gray is zero displacement, pure black is maximum negative (or indented if you will) and pure white is maximum positive displacement. The application you use will have controls for defining the actual range in real world units between black and white.

There are nice apps for generating displacement maps, so you don't have to mess too much with that. Take a look at CrazyBump. Just load a photo and it can output various maps, it's very easy and intuitive. :)

Ideally you will end up with something like this:


They look the same, but the left one has around 165000 faces. Which is too much, since more faces mean more slicing time, and possibly many small gcode segments which can mess up your prints. You need a way to optimize the topology, and you can end up with something looking the same but having only 5000 faces, like the right one in the pictures.


This was done in 3dsmax, but blender has all the same options I suppose, only I don't have a clue about blender so I can't help you there.

For easy stuff like brick textures it's usually better to use procedural maps than bitmaps, but that's too big of an area to cover here.

I hope that helps a bit and good luck with your endeavors! :)


Share this post

Link to post
Share on other sites

Good advice. I'd never really used Rhino for displacement maps before, and though it is probably workable, it is definitely slow. All prior experience was in Alias, which has more control but is also probably a lot more than you're looking for in a piece of software...


Share this post

Link to post
Share on other sites

Well, despite what must be hundreds of hours on youtube and pages of PDF's I am still only "close". Have tried blender but so many conflicting tutorials, it seems there are about a hundred ways of doing it but I can only get "nearly there".

Considering all I want is a "bit of texture" i.e slate, brick, sandstone, corrugated sheet on a flat bit of plastic, it seems to be incredibly difficult. I am still convinced that there is a way that is relativity simple.

Blender is as close as I have got.

Crazybump is brilliant but still struggling to apply it successfully. Flat projections, decals, uv unwraps, wraps, the lot.......

Dreading having to go the slow way and extrude each brick/slate/stone etc in sketchup but in all honesty - I would probably have done it by now and not ended up having to learn how to animate a flag with a "wind" force in blender! :-)



Share this post

Link to post
Share on other sites

Haha, welcome to the wonderful world of 3d modeling. Where nothing is as easy as it seems. :)

Joking aside, I have used blender only once, and the UI was so horrific that I uninstalled it the same day. Made absolutely no sense to me at all, and I'm pretty flexible about that usually. So I can understand your frustration.

And the tutorials aren't usually conflicting as much as a different approach. In 3d modeling there is almost always a dozen ways of doing the exact same thing, and it depends on your particular workflow which is the optimal way. So it's normal to run into many different methods for doing the same thing. :)

It's actually not just a "bit of texture" since it interacts with your actual geometry, and that makes it much more complex than your everyday texture mapping.

All you need from crazybump is to load your photo, play with the sliders until you have a nice look on the preview and save just the displacement map (as PNG). Applying the map successfully is a different problem altogether as you've seen by now.

I'm sorry I can't help with blender specific stuff :(


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 0 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!