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 Nov 13 '20 at 12:14
  • $\begingroup$ But a procedural material doesn't use UV coordinates, right? A procedural material is 3D, not 2D. $\endgroup$ – Frank Nov 13 '20 at 12:19
  • 1
    $\begingroup$ A possibility, use object index and define the rotation you want depending on it. $\endgroup$ – lemon Nov 13 '20 at 13:28
  • $\begingroup$ of course they do except in case you mean generated UVs (object UVs) $\endgroup$ – cnisidis Nov 13 '20 at 15:42
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
  • 2
    $\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 Nov 27 '20 at 15:07
  • $\begingroup$ @Frank This is a hot tip, though. I think it deserves to be in an answer. $\endgroup$ – Allen Simpson Mar 13 at 9:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.