0
$\begingroup$

When several objects share the same procedural material, how do you place it on an individual object the way you want to? For example, how do you rotate the texture on one object, but not on other objects with the same material?

For image-based textures, the answer is simple: you can edit each objects's UV-coordinates. But how do you do it for procedural textures? I know you can rotate procedural textures by using a mapping node, but that causes the texture to rotate on all objects, not just a single one:

enter image description here

enter image description here

I'm sure that must be a simple solution for this. I can't imagine you'd need to make a seperate material for each individual object.

$\endgroup$
4
  • $\begingroup$ I would rotate the object's UVs instead. $\endgroup$
    – cnisidis
    Commented Nov 13, 2020 at 12:14
  • $\begingroup$ But a procedural material doesn't use UV coordinates, right? A procedural material is 3D, not 2D. $\endgroup$
    – Frank
    Commented Nov 13, 2020 at 12:19
  • 1
    $\begingroup$ A possibility, use object index and define the rotation you want depending on it. $\endgroup$
    – lemon
    Commented Nov 13, 2020 at 13:28
  • $\begingroup$ of course they do except in case you mean generated UVs (object UVs) $\endgroup$
    – cnisidis
    Commented Nov 13, 2020 at 15:42

2 Answers 2

2
$\begingroup$

The solution is to make a separate material for each object (or set of objects that share the same properties) - as that allows you to adjust it for each object. However, it's not that you need to replicate the whole material and can't share sets of nodes, since you can create a Node Group that contains most of your material and re-use that group within each seaptarate material - maybe just adding a Texture Coordinate and Mapping node to each one so as to allow the orientation and scaling to be adjusted.

$\endgroup$
2
  • 3
    $\begingroup$ Later I found out that you can scale/move a texture on a per-object basis by choosing: Object --> Transform --> Move Texture Space, or Object --> Transform --> Scale Texture Space. Unfortunately, there is no Rotate Texture Space option, so I will consider the answer above to be the official one. $\endgroup$
    – Frank
    Commented Nov 27, 2020 at 15:07
  • $\begingroup$ @Frank This is a hot tip, though. I think it deserves to be in an answer. $\endgroup$ Commented Mar 13, 2021 at 9:04
0
$\begingroup$

I've run into a similar problem trying to create a wooden arch constructed from straight segments of wood. Originally, the procedural texture just maps across all of the segments uniformly, i.e. the wood grain ignores the orientation of the segments.
My workaround has been to rotate the segments so that they align with the procedural grain. Apply the rotation, then reapply the procedural texture, and rotate back into place.

$\endgroup$

You must log in to answer this question.

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