3
$\begingroup$

Is this possible?
In my shader in cycles, I have a noise texture hooked up to a displacement node.
In Eevee, I would use displacements by using the displacement modifier. There, it lets me select a texture image.
If I could just somehow export the noise texture from the cycles shader as a texture usable for the displacement modifier, I'm golden.
Is this possible?

$\endgroup$
2
  • 4
    $\begingroup$ I don't have experience with that, but I think the solution to this would be to bake it $\endgroup$ Aug 27, 2023 at 14:15
  • $\begingroup$ @TheKalaakaar I figured it out and I'll never go back to using these premade texture nodes, now I can edit them in gimp $\endgroup$
    – reign
    Aug 27, 2023 at 14:34

2 Answers 2

7
$\begingroup$

As of today, you can't exactly use shader's textures into modifiers. You can either recreate your texture in Blender's legacy texture system, or bake the texture into an image.

The legacy textures system is limited and clunky, but it remains faster for simple setups and procedural. While baking requires to create and load external data that you can't change.

Legacy Textures

From your displace modifier, you can hit this button to open the texture's settiongs in the legacy texture tab of the Properties Editor:

enter image description here

From there, you can change the type to a different procedural noise:

enter image description here

You could also have more control making a procedural texture using nodes via the legacy Texture Node Editor (shortcut: ⇧ ShiftF3), but it's been abandoned for years now and seems broken in v3.6.0:

enter image description here

Bake the texture

Open the Image Editor (⇧ ShiftF10) and click the New button to create a new texture. Give it a name, disable Alpha as we won't need it, and click ok.

In the shader editor (⇧ ShiftF3), plug the last noodle of your texture to the Material Ouput's Surface socket, or ⎈ CtrlLMB LMB the last texture node to do the same if you have the Node Wrangler addon enabled.

Add an Image Texture node with the texture you just created, and make sure it is selected.

It should look like this:

enter image description here

In the Properties Editor > Render settings, switch the render engine to Cycles (only it can do baking).

In the Baking panel, set the Baking Type to Emit (it will be faster to bake).

Make sure you have a big enough margin depending your texture and UVs. And hit Bake. It should take only a few seconds.

In the Image Editor, you should see your texture. From there, hit ⎇ AltS and Save your texture into a file. If you don't, Blender will discard it when you close the project.

Back in the legacy Texture tab of the Properties Editor, set your texture file in the texture (if you don't see the option, just create a new texture).

Then set your displacement Strength to a low value, like 0.1;
As for the texture's nodes from your shader, you can either remove them, or unplug them and leave them here to be able to change and bake the texture again if needed.

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Don't forget that geometry nodes has all the textures as well as a fair amount of other shader nodes available, and it's pretty trivial (around 6 nodes I think) to construct a displacement modifier equivalent that can be driven by a tree of such nodes. Better than baking since it allows a rapid iterative workflow and I use it for anything not inordinately complicated. $\endgroup$
    – cat40
    Aug 27, 2023 at 23:37
  • $\begingroup$ Feel free to post an answer for that method. I barely ever use geo nodes so I can't talk much about it. $\endgroup$
    – L0Lock
    Aug 28, 2023 at 0:01
1
$\begingroup$

Did this by following this tutorial (https://www.youtube.com/watch?v=LLQFopN--LY):

  • creating a image texture node
  • creating a new image in image editor
  • setting the image texture node's image to the new image
  • with node wrangler, ctrl shift click the noise texture node so that its output is displayed (or just hook it up to the material output)
  • bake with type "combined"
$\endgroup$

You must log in to answer this question.

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