2
$\begingroup$

I want to print a sign with my FDM printer in wood look. (Tried to laser cut it with not so beautiful results).

With my wood filament, I want to achieve a wood like surface pattern like a topology map with different heights like in the drawing.

wood patern

I tried to play with a displacement modifier and some wood texture from blenderkit but al what I get is a noisy plane which looks just random. Like this enter image description here So the question is how to achieve this pattern for a mesh or a curve pattern, best with a displacement modifier.

$\endgroup$
2
  • $\begingroup$ I think you need to find a wood-texture out there with a height-map, preferably hi-res and in a floating-point format.. although you might get away with less-than-perfect given output resolution, unless you want to make grain procedurally .. there's a .blend which might help here.. but then you would have to bake the texture to an image, as explained by @Joonas. Could you share a link to your wood texture file? $\endgroup$
    – Robin Betts
    Sep 11, 2020 at 18:22
  • $\begingroup$ I've gone for the 'Old Wood' Photoscan tex from BlenderKit, and used its heightmap straight in a Displacement modifier. Works OK for a 2K texture .. I have to raise the Subdivision to 9 on a blank plane to get the most out of it.. ( you can type the 9 in) $\endgroup$
    – Robin Betts
    Sep 11, 2020 at 19:11

1 Answer 1

4
$\begingroup$

I edit this answer to be better than previous and to actually work for 3D-printing. This is going to be a long one. This works for procedural textures and for ones made with a displacement map. You could try to start from step 6 If you have a good displacement map but for some reason it didn't work for me.

  1. At first I have a plane with 5x Subdivision Surface Modifier and a Displacement Map image connected to the Material Output Through a Viewer. Color Space Non-Color

Texture

  1. Next I add an Image Texture node but don't connect it. Select New and adjust Width and Height to be 8192 px. This can be lower if you are ok with lower quality. Check the 32 bit Float box.

Add image Texture Node

  1. Render Engine Cycles. Device CPU (You could use GPU but for me Blender crashes when I try that). In Sampling Render 1 (You don't need more. It just slows down.) In Performance and Tiles Tiles X and Tiles Y should be the same as the image size you created earlier. In my case it is 8192 px x 8192 px. Color-Space Non-Color

Select Cycles

  1. Under Bake select bake type to Emit. Make sure the lonely Image Texture node is selected and press Bake.

Bake

  1. Go to Image Editor and select Image and Save As. File Format OpenEXR and Color Depth Float (Full). Save As Image.

Save image

  1. Give your plane a Subdivision Surface modifier with Level 5 or 6. 6 is better. If this is not enough you can always add More. Modifier type should be Simple. Give it also a Displace modifier and press New.

Displace

  1. Press Show texture in Texture tab.

Enter texture tab

  1. Press Open and find your saved image

Open saved image

  1. Deselect Half Float Precision and go back to Modifiers panel.

Full Float

  1. Change Displace Modifier Coordinates to UV and Decrease the Strength. If the displacement is wrong you can change the direction to RGB to XYZ but this shouldn't be the case if your images are in non-color format.

Change Coordinates to UV

  1. Select your object and Export Stl.

Export STL

  1. Check Selection Only and Apply Modifiers.

Apply Modifiers

  1. Now you have a stl with your displacement.

End result

$\endgroup$
8
  • $\begingroup$ I corrected the answer. This should work. Let me know if I missed a step. $\endgroup$
    – Joonas
    Sep 11, 2020 at 17:54
  • $\begingroup$ Wow! I'm curious, though, why are you going through the steps of re-baking what is already an image, rather than using the image texture directly, in the Displacement modifier? (BTW, Simple subdiv, to bump up resolution for displacement, rather than Catmull Clark?) $\endgroup$
    – Robin Betts
    Sep 11, 2020 at 18:10
  • $\begingroup$ For some reason I couldn't get the same result from directly using a displacement map. Maybe the format was not the same or maybe I just missed a switch. If you have a good quality displacement map you should be able to work with it but I don't know what I did wrong. $\endgroup$
    – Joonas
    Sep 11, 2020 at 18:26
  • $\begingroup$ Catmull-Clark takes the average of each vertex but simple just subdivides. Simple doesn't deform the geometry. $\endgroup$
    – Joonas
    Sep 11, 2020 at 18:28
  • $\begingroup$ You don't want to deform, that's why Simple. I think we always agreed, but your illustration shows CClark.. (Probably just a 'screengrab typo' ) .. You've put so much work into this answer. :) $\endgroup$
    – Robin Betts
    Sep 11, 2020 at 19:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .