How to tile a texture across a group of components?

Hey good people, it’s been a while.
Struggling with something since 2 days and my research doesn’t bring me anywhere, so once again asking for help. Coming here from this post and this post

I have this roof tile component here, that I’ve arranged to form a roof side with roughly 1300 copies.

For the life of me, I’ve run out of creative options to retain the components/groups and have a texture tile across those containers. I remember I saw a tutorial somewhere that showed how to apply a texture to a group of components/groups but I can’t get my clay texture to spread across my components.

So far I’ve only managed to do it by exploding and merging more than 1000 copies of the same component for each side of this intricate roof and that took a long while. Is there not a faster and more efficient way of solving this? Thank you.

You could find a tile texture and apply it to a face for each large section of roof.

Or if you want to use multiple copies of your tile component as a texture, array them in a rectangle in a new SU model, then take a screen grab and use an image editor to create an image from that to use as a texture.

But using multiple copies of the tile in your model will overload and bloat the file.

1 Like

Didn’t quite get what you are after but maybe this is of some use:

Thank you! I will have a look into it although I think it’s not different from the path I took.
My initial mission was to apply an overarching texture to a group of component instances without exploding them, so that the texture spans the whole group of components, instead of repeating itself on every instance.

Hmm, I see.

Yeah, not exploding is quite limiting, which is contradictory noting how SketchUp pretty much forces you to constantly use groups. Not sure how one would go about applying a box mapped texture to a single group which is composed of smaller groups.

1 Like

As far as I know, you simply can’t do that in SketchUp.

Why are you so insistent on keeping all the individual component tiles? All that does is bloat the model.

And if you need to count how many tiles are needed, just draw the tiles temporarily, see how many there are, then delete them all and apply a texture to the large faces in the roof.

Or just draw a series of faces for the roof, get SketchUp to tell you their areas, see how much one tile covers (allowing for overlap), and calculate the number of tiles that way.

1 Like

Thank you for your reply!

This was an architectural visualization project. Client wanted the roof tiles to be modelled in detail, both for animations and stills. My intention with an overarching clay texture was to introduce variation to the individual tiles, to make sure they don’t look copy-pasted. In the end I ended up exploding all the components and applying the clay texture onto them and although the client was satisfied, I was personally not impressed with my work.

I wonder how the other 3D modelling programs achieve this variation (Blender, 3DS Max etc). SketchUp is sadly limited in this particular area…

By design in SketchUp all instances of a component have the exact same definition so that means the dimensions, shape and materials applied to the faces, among other things will be identical. If you don’t want them to look idential thetiles need to have different definitions. This isn’t a limitation. If your material is large enough you might be able to get by with applying it to the component containers. This doesn’t affect the component definition. Or you could use Make Unique to certain tiles and modify the position of the texture. If you randomize the selection of components you could perhaps get by with half a dozen different component definitions for the tiles.

First example I came across. The seats on these two stools started out as instances of the same component. When I added the textures, I made one of them unique so I could use different parts of the texture so they aren’t identical.

The same sort of thing for the top of this table.

2 Likes

Hey Dave, thank you.

That was exactly my intention but it didn’t work. Applying texture to component containers doesn’t transmit the pattern. Here:

Animation

Even applying the texture to the container of the component, the pattern still tiles.

That’s because the texture gets positioned based on the location of the component’s origin.st would be to make the components unique or at least batches of them.

So, I assemble the roof tile components without textures, then have a plugin randomly select several dozen of the instances, make them unique and apply the clay texture, then randomly select others, apply the same texture but move it? And so on, until all are textured, is that correct?

Yes. I might go ahead and apply the texture to the faces first. Then select random tiles and make them unique. Then edit the position of the material on one of them to suit. Rinse and repeat until you feel you have enough randomization. Might not really take all that much.

FWIW, here’s an example I made a long time ago. This uses a single oak texture but because it is very large, I could use different parts for different blocks. If you look hard enough you’ll probably find repeats but it isn’t very obvious.

If you wanted to you could make a texture from an image export from SketchUp after you’ve textured a large enough sample of the tiles and use that on large surfaces on the roof.

1 Like

Thank you Dave. Will give this a try and see how it goes. :+1:t2:

1 Like

Oh most 3D software have a wide set of tools for mapping textures. You can easily map a whole texture to the geometry selected, not matter of how many objects it is composed. Most programs don’t use groups nor ‘per face’ mapping (not by default).

Also, most popular 3D software are supported by render engines that have tile randomization algorithms, such as:

Before:


After:

1 Like