Skip to main content
5 of 7
added 384 characters in body
Daniel Möller
  • 3.8k
  • 10
  • 14

Solution for individual objects

(Solution for mesh islands at the end of the answer)

Use this to copy material to all objects: Copy material to another object? (where the "special" in newer blenders is a "down arrow")

(the same principle for copying apply to geometry nodes, in blender 4.2, you click the down arrow on the material or the modifier)

Geometry nodes

These store a X axis for the texture.

  • It needs tiles with 4 edges
  • It takes the two smallest edges and calculate X based on the center of these edges
  • It stores the normalized X axis in a named attribute (important: store as vector)

enter image description here

Shader nodes

  • Take the Texture X axis
  • Calculates the Texture Y axis by cross product Normal x X
  • Calculates the position of the geometry in the new texture coordinate system (dot products)

(The wave texture represents your wood texture)

PS: you might need to rescale the texture, in this case, add a multiply or a vector map right before the texture.

enter image description here

Result

enter image description here

Solution for mesh islands

Here, you have a single object instead of many individual objects.

  • This requires that all islands have 4 vertices!!

enter image description here

Solution for volumetric objects with good topology (faces = quads)

Here, we extrapolate the previous island solution.

  • Split the edges to make every individual face its own UV island
  • Store the X axis for each face
  • Join the geometry together again (merge by distance)

enter image description here

enter image description here

Daniel Möller
  • 3.8k
  • 10
  • 14