Textures resizing themselves
-
Hi all, I wondered if anyone else has encountered this issue before:
I'm opening brick textures in sketchup so that they can be painted onto existing sketchup models. The bricks have very specific sizes and detail so they can't be standard .skm material files. Thus they have to come from an existing .skp (that I have created earlier).
So I open a .skp file that shows the brick texture at the correct size. I click it with the eyedropper and paint it to another face.....the texture size remains the same and all is well.
However, if I open the materials dialogue box and select "In Model" and find the texture within the dialogue box, select it and paint it to an existing face, it displays larger than it should....
I can't understand what is causing this to happen and am wondering if anyone can shed some light.
Thanks in advance
Ash
-
It appears to have something to do with the way SU interprets Materials as opposed to textures because when I change the file to a .skm it imports at crazy proportions as well
-
Excuse my ignorance, there were already some useful posts on this topic.
Basically, it seems, sketchup interprets a texture (brought in through File>Import>) differently to the way it interprets a material (.skm file or a texture that ends up in the materials dialog). This results in textures that were the right proportion changing size when they are dealt with through the materials dialog.
The best solution appears to be saving your textures as materials (.skm) through the materials dialog.
Hopefully this will help someone else with the same issues.
Also see here: http://forums.sketchucation.com/viewtopic.php?f=79&t=38043&p=336291&hilit=material+files#p336291
-
If you have adjusted the UV-mapping of a texture on a face by scaling so it looks right then it will 'copy' with the eyedropper with those same values, and be used on that other face to match. However, using the original un-mapped material picked directly from the Browser, on a third face it will still use the original texture sizing and look different. This is irrespective of if it's within the original SKP or if it were in a SKP imported into a second SKP etc.
The best way to adjust the size of a brick-like texture is not by UV-mapping it, but by tweaking the size of the texture's image, by Editing the Material itself. That way whenever the material is used its correct unscaled size is shown - you reserve any UV-mapping to the simple positioning it on the face perhaps with rotation, but without any scaling.
Another work around would be to use 'make_unique' on the already mapped material, and then using that new version of the material from the Browser that will keep that sizing 'frozen' - although remember that if the face you sampled for the 'make_unique' version were smaller than the original pattern's repeat the texture would be 'cropped' in the new version...So assume you have adjusted the texture's image size appropriately and you have got the size right you simply use Save_As on that material to make it a new external SKM - added to one of your material libraries, so then you can use it in future SKPs without the cludge of importing actual objects that use it...
-
Wow,
Thanks very much TIG - as usual your advice is pure gold.
The best idea I can come up with to re-size a jpg image texture accurately is to import it into sketchup, measure how far it is (expressed as a percentage of overall size) from the desired dimensions and then open it in GIMP or photoshop and scale it by the previously measured percentage.
I think this is very important to know about texture sizing and bet it has tripped up many people in the past.
Ash
-
@tig said:
However, using the original un-mapped material picked directly from the Browser, on a third face it will still use the original texture sizing and look different. This is irrespective of if it's within the original SKP or if it were in a SKP imported into a second SKP etc.
The textures don't seem to have a default size - if I import a texture into a sketchup file, and then select it in the "In Model" section of the materials browser and then paint it on to a clean face it defaults to a certain size.
Then if I open a new sketchup session and follow the exact same steps the default size of the texture is different.
I'm going nuts or is something seriously amiss here?
-
@tig said:
Another work around would be to use 'make_unique' on the already mapped material, and then using that new version of the material from the Browser that will keep that sizing 'frozen' - although remember that if the face you sampled for the 'make_unique' version were smaller than the original pattern's repeat the texture would be 'cropped' in the new version...
My materials are 'tiled' so that they repeat. If I use "make unique" it seems to mess up the tiling irrespective of whether the face I'm making it unique on is actually bigger than the texture or not...
-
Well, in case anyone ever reads this again and needs a solution, my suggestion would be to:
1)Import your texture
2)Open the materials dialog (paintbucket)
3)Select "In Model" from the drop-down arrow in the materials dialog
4)Select the texture you just imported
5)Select the "Edit" tab
6)Click the "chain" image to lock aspect ratio
7)Adjust the width units until you have the texture to the size you need (use tape measure to check)
8)Under "In Model" right click the texture you just adjusted and select "Save As"
9)Save it as a .skm file in your 'materials' folder (C>Program Files>Google>Google Sketchup 8>Materials
10)Open a new sketchup session
11)Open materials browser (paintbucket) and select materials
12)Select the material you just saved
13)Apply it to whatever geometry you need
14)Save the file and the material should remain the correct dimensions regardless of how a user opens the file.Message me if you need help with this - I found SU kinda unintuitive in this area (probably because its not designed with this sort of thing in mind)
Thanks for the help TIG
-
How I generally import images is this way (or the one below but essentially the same):
-
I have a look at the image file and decide how "big" it should be (in cms - the unit I use...)
It can be easy with some brick textures for instance: you just count how many bricks you have in one course and multiply it with the brick size + some mortar. -
Now prepare a single rectangle with these dimensions
-
Import your image as texture and during the import process, you still have the ability to scale it by dragging the corner to snap to your face.
-
Once you click to finish, the texture is imported at a proper scale.
Doing it by importing image as image: -
Import the image and scale it roughly.
-
Use the tape measure (for instance) to scale it properly. In case of bricks again, just measure a brick and type the value as usual when scaling things.
-
NOW explode the image - which will become a texture at the correct scale - although now it is projected on both faces of your rectangle but this info is not stored in your material list of course.
-
-
Thanks Gai,
Its all making sense now - seems like a funny way for SU to behave though, I'm sure there is a good reason of some kind
Ash
-
It's not a funny way really - it's brilliant, and it does so for a very good reason
If you have fought with other 3D programs where the textures scale themselves when you move a line or do some other modifications, which is what happens with normal UV mapped faces, you ought to love the way SU does it. The textures keep the same physical size whatever you do to the model (except scale the group/component, in which case the texture is scaled with the rest of the group), unless you tell it to scale, rotate, shear etc by using the Texture tools.
This is one of the features that makes SU so great for architectural models etc.
Advertisement