If I paint a component or block from outside (i.e. not when the component is open and I’m painting individual surfaces inside the component), there doesn’t seem to be any way to rotate the texture, or scale it. Does anyone know a solution to this?
Paint the faces inside like you’re supposed to. That’s the solution.
That doesn’t solve the problem at all.
Simple example: I have many instances of a component. I want some red, some green, some blue. I can paint them from outside and each takes on a different color.
Now add a texture. But when I paint the texture it may not be scaled correctly, or rotated correctly. I can’t change it.
Like @DaveR said, you need to paint the faces inside the component in order for those textures to be editable. If you paint the entire component from the outside, what you see is what you get.
It’s too bad I can’t edit the texture. However, when a texture is applied it has a certain orientation. Something must control that. I suppose I could edit the texture with Photoshop, rotate it, then apply it again. Any other ideas?
Basically that’s what you’ll have to do. Essentially you’d be making a different texture.
PS. I often paint some surfaces inside the component and leave others unpainted. I can then take different instances of the component and paint them different colors, which then paints the surfaces that were not painted inside. For example, I could paint the windows of a car inside the component, then paint different instances of the car different colors. In that case I would have several different color cars, all with the same window color.
Of course you can because materials applied to faces override materials applied the component wrapper.
Fredo’s Thrupaint will let you manipulate textures on groups and components.
Thank you Box. That’s spectacular. Let’s me paint different instances of the same component with different colors on different faces (not just different on unpainted faces). Great.
Still doesn’t solve the other problem I was hoping to find a way to do, i.e. change the scale of a texture (actually I can do that by editing the texture in the materials Edit tab). Or change orientation, which I haven’t found a way to do, other than making a new texture.
Thrupaint scales, rotates, etc among many other things.
Wow. I didn’t see that. I’ll have to test it out. Thanks again.
Custom texture mapping can only be applied to a face if the texture itself is applied to that face. That’s how SU texture mapping works. When a texture is applied to a parent group or component and only inherited to the face the default mapping (based on the local coordinate axes) will always be used.
I haven’t tried Thrupaint myself but the only way it can change the texture mapping is by setting a texture and a mapping for individual face similar to how it would be done manually. To make the mapping differ between different instances there is no other way than using different definitions for them.
On testing the tool a bit more, I see that basically it paints as though you had opened the component but without opening.
it. You can rotate and scale texture without opening the component, but the texture is “inside” the component. Using the paint tool to paint the component from outside does not override the texture applied by Thrupaint. So, to get different colors for different instances of the same component, you must paint from “outside” and that will affect all the faces that were not painted “inside” the component.
I did one test that seemed to get different results, but I’m not sure why. I did it on a complicated component. When I tried it on a simple component (a box) I got the results noted above.
This has been a bug for some years.
The answer I have found is to explode the component, paint it with the default front/back face colour WITHOUT deselecting any part, then make it back into a component and texture as usual.
Sometimes with sandbox meshes the UV’s just get all scrambled for no reason I have ever found, and exploding and regrouping/making component is the only answer.
Not that I know much about this, or that I really understand what the end goal is supposed to look like, but…
there is no other way than using different definitions for them
Could it be that another approach would be to change the component axes in order to get the texture to map to a different default orientation?
Or am I way off…?
Interesting thought. I’ll try it next time I face the problem. However, it could prove problematic to change a component axis in the midst of putting together a project. It would probably be easier to rotate the texture in PhotoShop.
That would require separate component definition for each individual texture positioning. Then you could just as well set a per face texture positioning.
Try reversing the face and apply the texture, it should then be able to be rotated.
I know this is was a while ago but thought I would share what I found worked in the hopes it helps someone else
I wanted to rotate a texture but the option wasnt coming up, I found when I went onto hidden geography and removed the hidden lines (so it was 1 flat surface) and it worked again
Hope this can help someone