I have a model that I think would benefit from a 256x512 layout rather than a 1:1 512x512, but whenever I set the UV size in the options panel in Edit of Unwrap UVW, the entire UV space and anything that I've mapped stretches. I've tried re-mapping everything in the UV space once I set the size to 256x512, but when I re-flatten or use Planar mapping the proportions are completely off due to it being stretched/squashed in the UV space.
Am I not supposed to set the size of my UVW there? When you render the UVW it allows you to change the resolution as well, but considering everything in my UVW is stretched I haven't bothered to try it.
Can anyone help me out?
Replies
If you want to use a non-square bitmap I suggest laying it out on part of the UV space first (0-0.5 in this case) and then putting another modifier on there to stretch the UVs to fit the full space.
Changing the UV display proportions doesn't actually change the UV space. It just distorts the on-screen image of the UVs.
So the UV space is always going to be 0 1, but then how do people do non-square bitmaps?
Say I layout my UVs on the top half of the UV space like you suggest, wouldn't it still render out a full square bitmap unless I changed the ratio? I'm trying to UV a bench with many long parts to the model, and a standard square bitmap doesn't really allow me to use the space efficiently without stretching and distorting proportions (which I'm not keen on doing), so I figure the best thing to do would just use a non square UV.
And what modifier would stretch the UV to fit a full space? Wouldn't that make texturing difficult?
I do the technique as above.
Yes but the UV space and the bitmap are two different things. Just set it to render a non-square bitmap.
I just use the transform gizmo to stretch the UVs. It doesn't make texturing difficult since you can render out bitmaps any size you want.
Or in the UV editor under > options> preferences, you can adjust the display size to be non-square.
I guess I was just under the false impression that you could just set the resolution/scale/proportion of the UVW you want to render. I thought I could literally just input "256x512" somewhere and then have the UV space take on that size, but I guess that was foolish.
I realize I an always just render out a 512x512 with the bottom half of my UV empty, then crop it in Photoshop, but I find it odd I have to do that in a third party program.
In your UV preferences, make sure you can see the grid and the grid size is set to '1'. When you're packing your UVs, fit them in the first UV square as well as the UV square to the right:
When you've got everything packed how you want, go back into your UV editor preferences, change your width or height (which ever one that will be rendered longer than the other) to the size you want.
When the settings are applied, you should see everything stretched in the UV editor:
The last step is to simply select your UVs and scale them so they fit into your 1:1 UV square:
Now when you bake your maps, your render will output what you see in your UV editor. No need to worry about stretching or anything, just texture away.
I should note that applying a checker material to the mesh that has the same number of tile on each axis will still look stretched. You'll need to change the appropriate axis tiles to half of the other for it to look square.
Bunglo's method is basically the same thing but it is bringing a 0-1X0-2 space down to a 0-.5X0-1 space
also rendering out a 512x512 map and then cropping it wouldn't work without correctly mapped uvs... you would need to keep that extra space in for it to display correctly.
Even if you set the UV editor to 512x256 things like relax, unfold, flatten map, all behave like the 0-1 space is square and stretches the results.
Below is an example of a 16x16x16 box. The UV editor was set to display 512 x 256px. What should be boxes turns into rectangles when you run a lot of the tools in max.
This is what you should get, squares that accurately match the dimensions of the 3D object. This happens even after reset xform, UVWxform bla bla bla it's just hosed with non square textures. It's always been broken like this, even after they supposedly overhauled the UV editor in 2012.
This is why you use the method Bunglo outlined above.
You leave it set to square so the tools work, and unwrap using two tiles 0-2 instead of 0-1, the smash it back to fit in the 0-1 space using UVW Xform. I wouldn't eyeball the scaling if you need to be precise, use UVW Xform.
This is a horrible work around because the non-square material will not display correctly until you do the last step. Any tweaks you want to make are going to either need to be done with it squashed, or you will have to stretch it back out to fill the 0-2 space then smash it back to 0-1.
What a pain in the ass...
Thanks to everyone else in the thread as well who offered solutions, I can't believe how helpful the polycount community is (well, actually I can, but it's awesome none the less!).
EDIT: Thanks for the explanation Mark, very helpful!
The first thing you do is map your object as you normally would.
Next, make sure you uniform scale your UVs and position them in the .5 range, either top or bottom, left of right, that's your preference. Now scale on one axis to fill the 1:1 space:
This will of course squish your UVs, however, that's ok.
Now save out your UV Template 1:1:
Now open that file up in any image editor of your choice and make the diminsions 256x512 and start making your textures:
Once you're done, slap that new texture onto your object and it should come out perfect:
This is just one way to skin that cat, hope it helps!