Home Technical Talk

Texel-pixel ratio

Hi fellow artists,
I am currently giving a test on a 3d asset creation but I am facing 1 major problem which actually is quite tiny :|

I have been onto a "Texel ratio needs to be consistent (256UU = 1024 Pixels). " problem ,which is written there in test pdf,for over 2 exact days now. I used a plugin for uv called textools normalize my uvs for the low poly mesh i have modeled.I have read many many threads but am still not convinced if I have done it right.The reviewers I guess will test my final mesh in Unreal engine.To my last query about this issue from them I got this reply -

"As far as the texturing the model without following the Texel-Pixel ratio is concerned, it can produce HUGE differences as a smaller mesh would occupy lesser space on the UV and therefore requiring more work on the diffuse image while a bigger mesh would give you plenty of space to work with and is usually considered much easier to texture in photoshop.

We want to test your texturing skills also thats why the Texel-Pixel ratio came in..."

They want me to measure the dimensions ,multiply by 4,and then do something with the UV,but am not quite clear of what it is.

I need to create the diffuse maps at 1k resolution.and my case dimensions are as follow -
width - front - 82.5 cm
length - side - 43 cm
height - top - 36 cm

What do I need to do to get this right? This problem has almost killed me :(

Replies

  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    Sounds like they want you to fill up a 256x256x256 "unreal unit" area with a 1024 texture. The answer is to use your best judgment for that. There is no magic way to tell you how large a texture should be for an asset.
  • kdm3d
    yeah, its tough in that sense... you basically have to use your judgement. If you put a 256 plane in unreal, that should take up your entire 1024. And extrapolate from that. If your uv shell takes up 128 units across, it should be 512 pixels wide on your map.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    just create a 256^3 cube in max (in unreal units) slap a 1024 x 1024 texture on it and keep that cube always next to you.
    Now once you unwrapped a collection of a game asset that should go into 1 texture do this:
    1. first pick the texel density from the the cube using LMB on ico_texel.gif, it should show 2 numbers in the texel units that represent a ratio.
    2. Next is to select your newly unwrapped collection object and hit the texel assign ico_texel.gif button again but this time with the RMB. It should scale all your UV shells in a proportional way so that they match the input texel density from the cube.
    Thats it, no guessing and messing

    if you want more info just read the whole texel stuff at:
    http://renderhjs.net/textools/
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    just in addition to what I just wrote:
    Make suer that booth have a editablePoly bases as it is required in order to calculate the ratio of the Mesh units and texture units. Just a cube object type wont do it, convert it to a poly before.
  • mukuluppal
    @commander_keen - thanks.Well they asked me to make the diffuse at 1k resolution.

    @kdm3d - thanks.But how do I measure my uv shell units in the uv editor?

    @renderhjs - thanks man.I did play with this tool yesterday.I specially liked the normalize option.I am now gonna follow whatever you wrote above.lemme get back.
  • mukuluppal
    @renderhjs - Well I kept a cube and slapped a 1k texture on it(Without uving it) and as dimensions I kept its each side as 256 cm as I read somewhere that 1 cm = 1 UU.

    This was how my original uvs were :

    first.JPG

    And after following your mentioned steps :

    second.JPG

    Errmm is this right or did I do something wrong? coz the uvs have really compacted into small chunks and the checker size too is not constant anymore. :s
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    This is right.

    If you think about it, you want to keep a 4:1 "pixels to game-units" ratio, so if your object is 32 units long, then you only need 32 * 4 = 128 pixels of texture.

    Basically, a 1024x1024 texture is far too large for this object if you want to maintain a 4:1 ratio. As you can see, if your object is only about 30x40x80 cm in size, it should only require a texture of around 512x256 or even 256x256 depending on how you've UV mapped it (eg. how much is unique and how much is mirrored).

    So for example, if you pack your current UV layout (from your last image) into the top left corner of the UV layout, you should get an idea of what portion of a 1024x1024 is actually needed. My guess is you won't even need 1/4 of that space to fully uniquely map this object, you probably only need 1/8 of the space.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    looks perfectly fine, you are on the right track :)
  • mukuluppal
    Thanks MoP,well they have given me a cube in 3ds max having dimensions 35x45x80 and wanted me to stick my modeled mesh on it.

    Hmm you are right about the mesh only taking 1/8th of the space.So shouldn't I worry about the different checker ratio size at the front and sides of the asset?

    Also I would like to know that after packing these uvs as their current size and ratio at the top left corner - at what resolution should I render the uv map? and then with this current UV set only I will have to bake my AO,normal etc? I am asking this coz I think isn't this a too small size for a UV setup and this way it would be hard to paint the textures if I render the uvs at 1k?
  • mukuluppal
    @renderhjs - oh good.Thanks A LOT! :D please read my post prior to this one.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Like I said, putting the UVs in the top left corner was just to give you an idea of what fraction of the 1024x1024 sheet your asset is taking up at 4:1 density.
    Once you've figured that out you need to scale up your UVs to fill the 0-1 range (the UV layout square) and bake at the appropriate resolution (eg. 512x512 if you used a quarter of the 1024x1024).

    You seem to be making this a lot harder on yourself than it needs to be, it's really not very complex.

    Also, if your checkers are different sizes across different parts of your mesh, then something has gone wrong. The point of a consistent pixel density means that your checker map should be the same size across the whole asset.

    Do you have a screenshot of the asset with a tiling checker texture on it?
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    The texel scripts take into account what the width and height values of the TexTools toolbar are set to. This width and height values always represent your target texture size of what you are currently working on.
    So for example in your case if you want the final Texture for that asset to be 256 x 256 just define it in the TexTools toolbar (simply click on size > 256). And then retarget the Texel size using the setTexel button (RMB on the texel set button).

    Maybe some day I will script another tool or button that will calculate a suggested size that you can use for a certain Texel ratio. That way the script could tell you which size is optional for the asset to use.
  • mukuluppal
    @mop - yeah you are right this isn't supposed to be this harder. :(

    Here is the screen shot before I followed what renderhjs said -

    before.JPG

    But after following that procedure I get these checkers with the uv posted in my earlier post -

    after.JPG

    And this is why am making it sound hard.I need to paint the textures at 1k only for this asset.that is what confusing me! :poly127:

    @renderhjs- I need to paint my textures at 1k .that's what I have been told to do.And the pic posted above with un-even checker sizes is just not justified in my case. :( But your plugin is VERY cool.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Your "Before" unwrap looks better. I wonder if the script is not working correctly somehow?

    Also, it sounds like whoever gave you this art test either didn't think it through, or is expecting you to make a decision here on the texture size.
    If your object is only 32x40x80 units, there is no way that using a 1024x1024 texture on it is going to be 4:1 pixel density. You either have to reduce the texture size (maintaining the 4:1 ratio) or ignore the ratio and texture at 1024x1024 anyway.

    Or just ask whoever set you the art test task and get them to clear up what they meant, because both requests cannot be true here (unless you texture at 1024x1024 and save out at 512x512, half-size all your output textures but keep the source at 1024x1024).
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    looks like 3 plates were not processed as they have a different pattern scale - is it a separate object?
  • mukuluppal
    @ MoP - Thanks a lot for all the support so far.I will do that. :)

    @Renderhjs - well the asset consists of 3 objects - the side handles,the 2 grips at the center and 1 main box.The main box is a single object and all the vertices in it are welded. But still I get different checker ratio on the main box's side and front.
  • Smooth_Criminal
    I think in simple words the answer to this will be just keep the checkers even through out the mesh and make the use of full UV space.. , I agree with what MoP and renderhjs are saying. I personally would had compressed the tex in one area and then scale it up all together to fit the UV space, then hurry of to texturing the 1K map.
  • PredatorGSR
    Offline / Send Message
    PredatorGSR polycounter lvl 14
    After reading this thread it compelled me to write a tutorial on how to maintain and match texel density targets, I posted it here http://boards.polycount.net/showthread.php?p=1132045#post1132045
  • mukuluppal
    @smooth_criminal - thanks man.

    @predatorGSR - wow man that is awesome.Thanks a lot for the all the info you have put there.I ll give it a good thorough read. :)
  • Acumen
    Offline / Send Message
    Acumen polycounter lvl 18
    it sometimes happens for me, too, that the textools texel density stuff doesn't change the checkers properly. i didn't put too much thought or time into it, to find out why, i just attach and detach the stuff till it works ;)
    just had it yesterday on a simple model. i can't reproduce it, it just happens from time to time and i tell myself its my mistake :D
    sometimes hitting the button twice already helps. sometimes attaching all elements to one editable poly does the trick. but in the end it always has the same texel density, so i'm extremely satisfied with its usefulness :)
    i think you should just play around with it a bit more, cause in the end it can save tons and tons of time, once you get the hang of it :)
  • mukuluppal
    @acumen - ahhh I see.Well nice tip.Thanks. :D I guess doing what you said for a no. of times would surely do the trick.And yeah no doubt the plugin is great and saves a LOT of time.However for this task I did set my texel density manually. And it took a good amount of time. :S
Sign In or Register to comment.