Home Technical Talk

UV Packer IPackThat

1679111219

Replies

  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    I can upload an FBX of the object if that's any help?

    The UV layouts look the same, but they're distorted/broken - as the checkerboard texture shows. :P

    Note: It worked fine with the OBJ version of this object, just not the FBX


    FBX - https://www.sendspace.com/file/3trvf0
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Sammy101 wrote: »
    Hey did you try with .obj and ase and such file types too? I personally would just use .obj if that was the case with FBX myself. I am really eager to buy this but as a meager hobbyist I am careful with my money to make sure I don't get scammed like past experiences with auto UV programs.

    It works just fine with an OBJ version of the same mesh - only the FBX breaks.

    It's most likely to be an issue on my end that I'm not aware of. I may have a wrong setting checked or something that I don't know about?

    I can work with the OBJ version, I just prefer FBX files because of how their world space/pivot remains.

    Now that I understand how the software's algorithm works a bit more, it's getting better for me to use. It might take a few tries to get a solid UV result but after a few tried on the mesh I posted above I managed to get one with 30% wasted space on a decent layout - which is pretty good.

    My main feedback is that it's a bit hard to group meshes and define how important grouping is. I posted on the Facebook but in the future it would be amazing to have a 3D view of the mesh so that you can select clusters from the 3D object, as this makes it far easier to group stuff.

    I know what you mean moneywise too haha. I'm a student. :P I bought it to try it out and give feedback since it's good to have an input on software from an early stage, plus it's saving me headache time packing UVs. Could keep refining this a lot to get something spectacular
  • mospheric
    Offline / Send Message
    mospheric polycounter lvl 11
    I have a suggestion Dan. I've had issues with UVs being exported incorrectly from 3dsMax when using FBX. Try throwing an "Edit Mesh" modifier on your object and then export to FBX. That may fix the problem.
  • N-gon
    Offline / Send Message
    N-gon polycounter lvl 5
    does this work on assets with mirrored and overlap uvs?
  • JedTheKrampus
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Yes, any UV islands which are stacked (even a little bit stacked) will remain stacked during the packing process.
  • tomofnz
    Probably this has been asked, but can certain elements or islands be pinned for position and rotation? Say for example you have partly textured an object that will have typography on it, or if you intend to use certain image content that matches existing UVs you've done, and you want to preserve those parts, then pack everything else around it...

    If it's already possible, how to do that?
  • WarrenM
    You can tell individual islands whether they can be rotated or not, yes. You can't lock them in place tho ... AFAIK.
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    WarrenM wrote: »
    You can tell individual islands whether they can be rotated or not, yes. You can't lock them in place tho ... AFAIK.

    I think checking the "Ignore Processing" option takes them out of the packing
  • Bubba91873
    Offline / Send Message
    Bubba91873 polygon
    I use Headus UVlayout but I hate the following limitations:

    1. UVlayout cannot handle more then 350k-450k polygon objects on import or while using the software it will run out of memory. I need a UV packer that can handle larger meshs and is 64 bit.

    Typically I build hard surface models between 4 million and 9 million polies spread over 4-6 texture sheets.

    2. Request: can you group sections of a model together in a box and keep them together during packing ? UVlayout does this and would like to keep the same.
  • WarrenM
    2. Yes, you can select islands and group them together. You can't specify a box shape like in UV Layout but the pieces will stay together during packing at least.
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Would be cool if there was another way to zoom in/out other than the mousewheel - just as a preference thing. :)

    Also I'm still finding that it's occasionally overlapping shells when it runs it's calculations (they're not close together - just grouped.)
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Also the grouping system uses greens which are pretty close in shade to the default green colour every UV shell has.

    Should make the default colour for UV Shells White, and the default colour for overlapping UV shells black perhaps? Then have colours only for groups to prevent confusion :)

    Also an option to create a Clown/Colour map from the Grouping you do inside IPackThat would save loads of time baking one out from £D Studio :)
  • WarrenM
    When you create a new group, it's assigned a random color ... if you're getting greens close to the default shells, you're just having a run of bad luck.
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    WarrenM wrote: »
    When you create a new group, it's assigned a random color ... if you're getting greens close to the default shells, you're just having a run of bad luck.

    Yeah I know - my suggestion is because if you're working on a huge set of UVs you won't want to be having to manually change the colour to a more contrasting shade of Green every time it happens to land on one. I think it would be smoother to just reserve colours for Groups, and non-groups stay white.
  • Gheromo
    Offline / Send Message
    Gheromo polycounter lvl 11
    Seem like I have bumped into the bug.

    Here is how to reproduce it.

    group few uv islands into the group select few of the uv islands out of this group and set them so that they cant rotate. They will still rotate regardless.

    However without grouping any uv islands at all and setting same UV islands not to rotate during the packing it works as I expect.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Bug noted to my backlog. Here a link to it. Discovered this web tool lately. Collecting currently all my noted and move them there
    IPackThat Backlog
  • Jon Micheelsen
    This here looks like it might be too big of a bite to chew:

    qCoSKS8.png

    I'm in the demo version. Fbx 7.4 binary from Blender 2.73. One big merged mesh, one UV set. It's a lightmap UV set for 13 space ships made from hundreds of little parts, so no way I can reduce the island count. It's intended for a mega texture, hope I don't have to break it down to one pr ship...

    Awesome work though!!
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Added to backlog. This bug was found by some beta tester last week as well.
  • Avis Para.doc's
    Offline / Send Message
    Avis Para.doc's polycounter lvl 9
    Hi! Really cool tool! But I have a questions.
    Is there a way to move shells with mouse, need to make some little adjustment in pack ыome times? And export/import mesh just for small tweaks is too complicated.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    new version uploaded to steam.
    fixed plenty of bugs and added turkish translation.

    i will add cluster transformations via mouse to my backlog :)
  • Phoenix995
    Offline / Send Message
    Phoenix995 polycounter
    cool :)
    do this updates also update the demo version?
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    i gave it a go yesterday after buying it when it came out.

    at the moment packing an object like a character with a limited amount of uv islands is still more efficient and faster by hand. I think this tools will probably really shine when it comes to very technical uvs with a lot of small bits.

    the speed is a bit too slow for my liking, especially if it only has to handle 10 uv islands or so i`d expect it to be faster. it works but if you could increase the speed of things it would be so much better

    also how does the rotationlocking work? i tried it but it still seems to rotate things around.

    I can supply you with the example of how i packed manually if you want.
  • Phoenix995
    Offline / Send Message
    Phoenix995 polycounter
    doublepost... sorry
  • Phoenix995
    Offline / Send Message
    Phoenix995 polycounter
    one questen:

    is it possible to change the ratio to more than 1:2?
    because in games like dota you need textures with 128x512 px thats a ratio 1:4

    is that a thing that will be added? :)
  • Avis Para.doc's
    Offline / Send Message
    Avis Para.doc's polycounter lvl 9
    Also it would be great to have (maybe it was already requested, sorry if I repeat it)

    1. Option to pack around locked shells. Best work process that I see is pack major things that I will pack in hand and lock them and all other shells will be packed around them, Like UV layout do.

    2. Option to disable resize of the shells (maybe even selected) when packing to just pack already scaled UV with right texel density. (UV Layout analog "Dont resize shells")

    3. "F"-key functionality like Maya- focus on selected shell (analog of Max "Z") when there is a 8k map size it difficult to zoom on each one little shell to select it.

    4. Didn't find "Contour Merge" option in latest demo, some times shells just stick together by accident and packing like that all the time.

    PS. I don't believe in automatic packing for complicated meshes which will be painted with photoshop. All plugins and programs ive tested dont have enough settings to achieve result you need. But that tool have all chances to make a break through. Grouping that actually work is great idea. We all hate to search shells of one element which exploded all over UV map:). Keep it going right that! And maybe one day we can trust in auto unwrap even :poly121:
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    at the moment packing an object like a character with a limited amount of uv islands is still more efficient and faster by hand. I think this tools will probably really shine when it comes to very technical uvs with a lot of small bits.
    • thats true, the algorithm behind is doing some serious math with large preparations. If you got only some islands, it might be faster by hand. The intention for the packer was to help pacing meshes with more then 10 islands ^^ then it show its muscles.
    the speed is a bit too slow for my liking, especially if it only has to handle 10 uv islands or so i`d expect it to be faster. it works but if you could increase the speed of things it would be so much better
    • as I mentioned above, heavy math with large preparations. Always try to increase performance
    also how does the rotationlocking work? i tried it but it still seems to rotate things around.
    I can supply you with the example of how i packed manually if you want.
    Phoenix995 wrote: »
    one questen:

    is it possible to change the ratio to more than 1:2?
    because in games like dota you need textures with 128x512 px thats a ratio 1:4

    is that a thing that will be added? :)
    • will add this to backlog
    1. Option to pack around locked shells. Best work process that I see is pack major things that I will pack in hand and lock them and all other shells will be packed around them, Like UV layout do.
    • the current algorithm does not allow this behavior. I will add this to backlog and think about a second packing approach that can do such things.
    2. Option to disable resize of the shells (maybe even selected) when packing to just pack already scaled UV with right texel density. (UV Layout analog "Dont resize shells")
    • that's the current behavior. All shells are scaled relative to each other. The packer is not scaling up or down shells individually. The scaling only applies to all of them. the packer generates a first solution with all shells scaled down to 75%. It packs all shells as tight as it can and scaled up the result to fit the solution area. Then it will repacked iterative. If a better solution is found, it will scale up all and start again. If it can't find it will scale down.
    3. "F"-key functionality like Maya- focus on selected shell (analog of Max "Z") when there is a 8k map size it difficult to zoom on each one little shell to select it.
    • added to backlog
    4. Didn't find "Contour Merge" option in latest demo, some times shells just stick together by accident and packing like that all the time.
    • this feature was only of internal use to reduce amount of outline points. Produced to much error so I removed it. Sometimes it removed points which results in overlaps when packing
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Frequently noticing that IPackThat seems to be warping cylindrical UVs - I've made sure they're unwrapped properly but when they come back from IPackThat they seem warped slightly (as if they've been rotated but also slightly distorted)

    This is the type of break in UVs I seem to be getting a lot.

    hl0lG.png
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Dan Powell wrote: »
    Frequently noticing that IPackThat seems to be warping cylindrical UVs - I've made sure they're unwrapped properly but when they come back from IPackThat they seem warped slightly (as if they've been rotated but also slightly distorted)

    This is the type of break in UVs I seem to be getting a lot.

    Could you mail me an example to mario@ipackthat.com?
  • Gheromo
    Offline / Send Message
    Gheromo polycounter lvl 11
    Is there a way to group highlighted UV islands to pack them as if they are 1 single solid UV island? This is a phone model and these are dial buttons in their order as in real life. So kinda makes sense to have them packed in a proper order next to each other, ideally as a group that wouldnt get rotated and would sit somewhere in the corner of the UV map.

    Another great addition would be the ability to lock stacked UV maps. So that they pack as 1 single UV island.

    TJc0MXe.png
  • Hazardous
    Offline / Send Message
    Hazardous polycounter lvl 17
    i gave it a go yesterday after buying it when it came out.

    at the moment packing an object like a character with a limited amount of uv islands is still more efficient and faster by hand. I think this tools will probably really shine when it comes to very technical uvs with a lot of small bits.

    Thanks for posting this man, I hadn't got around to it yet and was wondering this exact thing myself!
  • WarrenM
    I think it depends on what you mean as doing it faster by hand. I mean, in the time it takes you go to get a cup of coffee and come back, the packing would be done ... or done enough that you could move ahead ... so basically, it's free. And it's hard to beat free. :)
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    don`t get me wrong this is great software, its by far the best when it comes to userinput.

    the testcase i was talking about is this one ( not the best manual pack either and the padding isn`t as consistent as it should be)
    the right result is a pack i got after having it run for 5 hours (accidentally left it running) i`m sure it was already something simular after a lot less time.

    I did not use groups since if i did it would waste a lot of space trying to keep things together in a squarish fashion. I would be fine with having group elements just neighboring at least one other groupmember but not having it square. this way i think groups with smaller elements could be packed in a lot of open holes in the uv.

    2ypK1yL.png
  • ZacD
    Offline / Send Message
    ZacD ngon master
    It'd be nice if there was a option that just scaled up/down and moved islands a bit just to fix padding, it'd help compare situations like this a bit more accurately.
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    ZacD wrote: »
    It'd be nice if there was a option that just scaled up/down and moved islands a bit just to fix padding, it'd help compare situations like this a bit more accurately.
    yes, averaging of padding for existing packs would be great just being able to do that would make this tool yet again useful for smaller handmade packs
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Gheromo wrote: »
    Is there a way to group highlighted UV islands to pack them as if they are 1 single solid UV island? This is a phone model and these are dial buttons in their order as in real life. So kinda makes sense to have them packed in a proper order next to each other, ideally as a group that wouldnt get rotated and would sit somewhere in the corner of the UV map.
    • select the elements and right click for context menu -> merge clusters
      • there is a problem with generating outlines and the holes. if the containing uv islands cant connect the new outline broder it will produce bad merge. the inner clusters are treated as holes instead of islands. currently try to solve this bug

    Gheromo wrote: »
    Another great addition would be the ability to lock stacked UV maps. So that they pack as 1 single UV island.
    • stacked uv islands on import are always recognized and treated as one cluster. those ones are colored blue. there was a bug in the initial version where those overlaps where ignored. fixed in current demo and release version

    the right result is a pack i got after having it run for 5 hours (accidentally left it running) i`m sure it was already something simular after a lot less time.
    • thats might be right. i think it was running for nothing the rest of the time. also noted in my backlog to add those stats to the comparsion image as well
    • from what i see in this example, you used default rotation settings. try to set those smaller elements to a rotation step of 45° or even 22,25°. that way the packer can check those smaller elements for more possible rotoations and the pack might be tighter

    ZacD wrote: »
    It'd be nice if there was a option that just scaled up/down and moved islands a bit just to fix padding, it'd help compare situations like this a bit more accurately.
    • already in my backlog to mark clusters as fillings. those one will be scaled down to a specific amount to fill up gaps. to get this running, those marked clustersd will be packed at last to fill up holes and will try to avoid to increase the solution area
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    now got a youtube channel as well
    IPackThat on YouTube
    uploaded all the example videos from steam store and facebook
  • Avis Para.doc's
    Offline / Send Message
    Avis Para.doc's polycounter lvl 9
    [PB]Snoelk wrote: »
    • that's the current behavior. All shells are scaled relative to each other. The packer is not scaling up or down shells individually. The scaling only applies to all of them. the packer generates a first solution with all shells scaled down to 75%. It packs all shells as tight as it can and scaled up the result to fit the solution area. Then it will repacked iterative. If a better solution is found, it will scale up all and start again. If it can't find it will scale down.

    Thanks for the answers! Maybe I was not so good in explanation of my situation. Dont scale shells at all, just pack them the way it is if they dont fit just pop up window will come in and tell you about that. It would be helpful when creating texture atlases for some small common assets when you dont know how much objects will be on texture and you need to see what will go to current atlas and what will go to next one. At that point will be handy a lock shell function too :)
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Thanks for the answers! Maybe I was not so good in explanation of my situation. Dont scale shells at all, just pack them the way it is if they dont fit just pop up window will come in and tell you about that. It would be helpful when creating texture atlases for some small common assets when you dont know how much objects will be on texture and you need to see what will go to current atlas and what will go to next one. At that point will be handy a lock shell function too :)
    • ah ok, will add that to backlog
  • Gheromo
    Offline / Send Message
    Gheromo polycounter lvl 11
    [PB]Snoelk Awesome!!!
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Perhaps thought of a future feature that could really bolster this?

    How about an option to tell IPackThat to automatically scale up groups to fill up UV space - Allow the person to set "Scale-Up priority" for each group. The lower the priority number (1 is priority maximum, 0 is switched off)

    For example let's say I have 8 UV islands. All 8 are sized correctly in comparison to each other, however when all 8 are packed they only use up 60% of the UV space. IPackThat should then start at your highest priority group and scale stuff up slightly to fill the UV space?

    This would mean that certain parts of your mesh are slightly higher resolution than others, but personally I don't mind scaling smaller parts of the object up on the UVs if they need it - even if it means they're slightly higher res than the rest of the mesh so that I can get all the details on them :)
  • WarrenM
    I made that same request to him this morning. He said it's on the list. :)
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    WarrenM wrote: »
    I made that same request to him this morning. He said it's on the list. :)

    Oh my bad! Sweet though. :D
  • WarrenM
    No, it's good ... the more people that ask for the same thing should raise the priority. :) Being able to fill up remaining space using smaller islands would be awesome AND give you an even higher % cover at the end.
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    [PB]Snoelk wrote: »
    • thats might be right. i think it was running for nothing the rest of the time. also noted in my backlog to add those stats to the comparsion image as well
    • from what i see in this example, you used default rotation settings. try to set those smaller elements to a rotation step of 45° or even 22,25°. that way the packer can check those smaller elements for more possible rotoations and the pack might be tighter

    nice i`ll give that a try tonight , gonna mess around with some of the settings to see what gives the best results
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    WarrenM wrote: »
    No, it's good ... the more people that ask for the same thing should raise the priority. :) Being able to fill up remaining space using smaller islands would be awesome AND give you an even higher % cover at the end.

    Yeah, I showed it to my tutor today and his one comment was that I had a lot of UV space left that I could just scale stuff up in. I'm pressed for time on the project so I can't be spending time cleaning/scaling after IPackThat which makes the priority scaling thing a potentially awesome feature. :)

    If it works on priorities then overall that's what's gonna make this software even more cool! Such as letting you prioritise how close together you want similar parts of a mesh, similar elements, the scaling, etc. :)
  • WarrenM
    It takes a minute at the end. You don't have a minute? :)

    Seriously, it's a good feature and I await the day it goes in eagerly but it's hardly a reason to not use the app.
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    WarrenM wrote: »
    It takes a minute at the end. You don't have a minute? :)

    Seriously, it's a good feature and I await the day it goes in eagerly but it's hardly a reason to not use the app.

    I do use it, it saves a lot of time. :P Honestly not trying to sound ungrateful or lazy!
  • Phoenix995
    Offline / Send Message
    Phoenix995 polycounter
    Dan Powell wrote: »
    Perhaps thought of a future feature that could really bolster this?

    How about an option to tell IPackThat to automatically scale up groups to fill up UV space - Allow the person to set "Scale-Up priority" for each group. The lower the priority number (1 is priority maximum, 0 is switched off)

    For example let's say I have 8 UV islands. All 8 are sized correctly in comparison to each other, however when all 8 are packed they only use up 60% of the UV space. IPackThat should then start at your highest priority group and scale stuff up slightly to fill the UV space?

    This would mean that certain parts of your mesh are slightly higher resolution than others, but personally I don't mind scaling smaller parts of the object up on the UVs if they need it - even if it means they're slightly higher res than the rest of the mesh so that I can get all the details on them :)

    I love this idea!
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Hey so I gave this software another try now that it's on steam. I can't for the life of me figure out how to get a cluster to not rotate, I click on it, untick the box on the far left that says rotate. Click pack and it rotates that shell immediately, even with the global setting of rotate turned off it still rotates?

    What am I doing wrong, and what does the "-" mean in the tick box, you have checked, unchecked, and "-"?
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    malcolm wrote: »
    Hey so I gave this software another try now that it's on steam. I can't for the life of me figure out how to get a cluster to not rotate, I click on it, untick the box on the far left that says rotate. Click pack and it rotates that shell immediately, even with the global setting of rotate turned off it still rotates?

    What am I doing wrong, and what does the "-" mean in the tick box, you have checked, unchecked, and "-"?
    • just looking into it and check if they might be a bug
    • - on those checkboxes mean dont change the current value. if you select cluster where the properties are different, those ones will be show - also in the checkboxes.




    regarding up and downscale to fit holes, the only problem with this comes with normals maps. due the different texel densities the normals will break apart on the edges. this might be a problem.
1679111219
Sign In or Register to comment.