Home Technical Talk

UV Packer IPackThat

145791019

Replies

  • oskarkeo
    Offline / Send Message
    oskarkeo polycounter lvl 10
    Seems like impressive results in the screengrabs, but I wasn't able to replicate anything useful.

    Load times were very overwrought.
    Control over the pack as very light.
    Pack times were extremely heavy (left it for a few hours but had to abandon the pack after the first pass, as my internet browser was crawling due to the gpu draw of this tool
    when i cancelled the pack (or tried to) the solve i was left with was useless (only solved a small amount of the islands).

    Is anyone else having similiar struggles with this demo?
  • oglu
    Offline / Send Message
    oglu polycount lvl 666
    UDIM support would be really cool...
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    [PB]Snoelk I tried to find any unmapped faces on my model and couldn't, I also ran cleanup searching for unmapped faces, model still loads forever so I'm still not able to try the software.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    @malcolm i know the problem with the obj file now. the loading times are very large for this obj file. the mesh is larger than the mesh from andreas st
  • mobpapst
    Offline / Send Message
    mobpapst polycounter lvl 4
    Hey there i got some questions to this packer:

    1. it is needed to pack the uv roughly in one square space before i can use the tool?

    2. its able to manipulate overlapped uv's later on in max with textools? (like two sides of the same object)

    3. i loaded an obj with several single objects into the program and its loading all the time and nothing is happening. maybe an issue?
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    1. would be best. overlaps you want should be there so the packer can treat them as one.

    2. i dont split or merge stuff, i only change the uv vert positions. so that should be no problem

    3. currently overhaul the entire import export to fbx. that way i can handle fbx, 3ds, dae, dxf and some other formats. already did a major increase in loading times (files that took 10 mins are now loaded in some secs) but depends heavily on co,mplexity on the scene. i also do more outputs so user see whats going on
  • retmia
    Offline / Send Message
    retmia polycounter lvl 8
    Waw, your software is insanely awesome ! I can't wait for the release, I have a load bunch of assets to produce the next months, and I'm losing most of my time in packing !
    Do you have more informations on the release date ? You said a month ago that it was a matter of days, maybe weeks ?
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    hello folks,

    im very sorry for the delay. our notary told us the stuff is all at the court and is waiting to be approved. we can't push things more. german court is german court.
    i still hope that all the papers will come within the next 2 weeks. when we got all the corporation papers, i can finished the steam and gumroad documents and upload the tool.
    still updating and adding more features to IPackThat while waiting for the papers.

    here a short list of the new stuff
    • integrated latest fbx sdk 2015.1
      • supported import file formats are
        • fbx
        • dae
        • dxf
        • 3ds
        • obj
      • supported export file formats
        • fbx binary/ascii
        • fbx 6.0 binary/ascii
        • dae
        • obj
        • dxf
    • added support for multiple uv channels
    • settings are now uv channel based, means every uv channel has their own settings.
    • saveable settings (global and file) are uv channel based also
    • autosave is now a property of the packing options
    • context menu fixed ( now shows checkboxes and arrows for submenues )
    • new import dialog when more than one mesh or material is found
      • you can split by mesh, by material and allign to grid for each available uv channel individualy
    • improved loading and packing (loading 6-7 times faster now, pacing 30-40%), performance scales more with available cpu
    • fixed and optimized overlap detection
    • uv area bound check before packing starts (will be scaled down to fit the regions, this fixed the bug where uv shells are larger than the true uv area from 0 to 1 and produces nasty packing behaviour)
    • more tooltips
    • packing will abort automaticly if one shell is found which is filling the width of the solution area. on aspect ratio 1:1 the heigth is used also
    • removed cluster browser ( He's dead Jim ), to much problems and performance loss
    • select by group added to context menu item Selections
    • group colors are remembered now within the runtime of the application.
    • more outputs on loading to show user that the tool is not dead
    • fixed cluster rendering (no more invisible polygons or segments, normal polygons are polycount greenish ^^ and clusters with overlaps are colored blue with alpha)
    • changed formula to get used and wasted area to use half of the givin margin size ( uv shells individually should resepct half of the givin margin size )
    • UV Channel Tab name shows on what view you are ( without * its showing original layout, with * the packed solution )
    in exchange for the cluster browser i will add a new menu tab to the main control do do selections via different properties ( select clusters between 20% and 30% area, select clusters with CanRotate=false, select clusters with rotation steps between 45° and 75° etc )
    when the tool can finaly be shipped, most of the stuff you all wanted will be available then and not part of some later patches.


    things ToDo on my roadmap
    • property for clusters to allow them to scale down within giving ranges to be used as filling shells
    • UDIM support ( not yet desided, need more test and checks to see if its possible or not)
    • Selection Tab Menu
    • C API ( tough one ^^ this tool is managed so this will be tricky )
    • split by materials ( there is one rule, uv shells are not allowed to have mixed materials, every material should be a unique uv shell, the tool is not supposed to alter uv indices and break apart uv shells on their own)
    • select by mesh
    • select by material
    • new demo build
    Special thanks to Andreas Strømberg, Warren Marshall and Christophe Desse for their support and beta tests :) they found a lot of bugs and giving me great ideas to make this tool a packing beats ^^


    here are some shots of some of the new features


    Context Menu
    ContextMenu.png

    Import Dialog
    ImportDialog.png

    Multi UV Tabs
    MultiUV.png



    cheers
    :nerd:
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    New Demo available (Update 4.03.2015 Beta 23 Version 1.7.5540.42507)

    IPackThatDemo

    with the lates features, optimization's and bugfixes.


    cheers
    :nerd:
  • Thousand
    Offline / Send Message
    Thousand polycounter lvl 9
    Some times it´s good if there are delays - time for tweaking and polishing :)

    really looking forward to this awesome packing tool!
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    i have a problem: i import a obj. and without changing anything i press "start packing", it packs once and stops... why doesn't it pack more often than once?
  • WarrenM
    Is the progress bar running at the bottom? If so, it IS packing but it won't update the main window unless it finds a better solution.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    is one uv shell filling up the entire uv area? that is another abort condition. it wont find a better solution if one shell reaches from one side to the other.
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    the bar at the bottom does not move... it always says the same thing: "Best Solution has 33 % wasted area, found after 1 tries and 1s 563ms. courrent solution 1, run time 1 s 563ms"
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    E1qK735.png

    i have to press star packing again... so it does not work in the background
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    just as i said, the bootm uv shells is reaching from 0 to 1 in x. there is no way to get a better packing ever with this given shells.
    this was one of my latest improvements to stop the packing when this happens. make no sense to continue packing. try set to aspect heigth 2
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    ah ok thank you :) my bad ^^
    so when i want a better result i have to tell him, that he can rotate it with more degrees?
  • WarrenM
    Ahh because it can't scale that piece at all, right? Interesting.

    Might be worth telling the user about that then. So they don't think it's broken...
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    this come to my mind just as i saw the image. when you allow smaller rotion steps it could find a better solution. will do the test and abort if the shell is rotsteps=90° and filling side by side. when rotsteps are smaller it wont abort anymore. will be in next update. then you can see the internal pactch mechanism at work :)
  • DhruvaInteractive
    Hey [PB]Snoelk

    It's a really inspiring technology. This would be a really productive tool.

    A question: The tool already performs really well, but i was wondering if the calculation is running on CPU or GPU ?

    Thanks
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    The tool is running on CPU. But uses parallel operations on many methods. That way ya scaling currently with available CPUs. I just read an article about CUDAfy. A managed wrapper around cuda and OpenCL. This will be a huge change, so this would come in a later update. Today I moved all texts out in a seperate XML file. That way I could add other languages for the tool. Like Klingon or pirate ^^
  • DhruvaInteractive
    I was thinking on the same lines. This would definitely boost the performance.

    Also, is there any plan of porting this to 3dsmax or Maya as a plugin or you are keeping it portable ?

    Again, great job on the tool.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    i want to keep this tool portable so its independent of the tools the user is using. that way anyone is able to use this tool. in the professional version you can execute the tool via commandline with a xml file as agrument to execute automatic packing. a script would so be able to start a proces and wait until the process is completed. the xml file you use as argument contains meshes to be packed and specificiations for the automatic packing (in filepathes and out filepathes). currently changing the xml file definition for handling different uv channels.
    when the layout of the xml file is solid and no more major changes will happen, i will post a format description so people can do their own scripts to start ipackthat and retrive the datas
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    new update available. the demo will automaticly check for updates in startup and ask to update itself.
    a small command window will apear with some messages. at the end when its done it will wait for a nay key to be pressed. this key press will be removed later when the tool is released. its just for safety to see when something is not going right to prevent the widnow from closing.

    this the patch is doing
    • adding language file for adding and handling different languages
      • the dropdown box is located on the top left window between the question marker sign and the lightning symbol
    • fixed some crashes


    the entire changelog can be viewed inside the tool ( the newspaper smybol, main tollbar aside save mesh settings )


    cheers
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    while testing the latest build today i thought of some features that would be incredibly useful to have.
    1. ability to manually rotate uvislands so i can set a rotation and then lock it later
    2. ability to match uvisland rotations to the objects orientation so that for example if i`m unwrapping a head the head is oriented the right way in the uv.
    3. ability to create clusters by topology continuity , so lets say i have a subobject split in 2 uvislands i usually want to keep those packer together

    anyway great tool so far man!
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    1. ability to manually rotate uvislands so i can set a rotation and then lock it later
    • already there. go to the cluster settings. the first group inside the cluster settings tab let you transfom selected clusters in any way you want.
      • move
        • setup the move speed in texels and press the buttons left of the move section ( up, down, left, right )
      • rotate
        • setup the angle in degrees and use the button left of this section to rotate clockwise and counter clockwise
      • scale
        • setup a percentage and use the left button of this section to scale up or down
    • will try to implement a mouse handling for those action later
      • ctrl + lmb move
      • ctrl + mousewheel rotate
      • ctrl + rmb scale
    • now go to the cluster properties and uncheck "find smallest bounds" and check "Can Rotate" on those clusters. that way the cluster won't get rotated where the bound of them are smallest and won't rotate at all either.
    2. ability to match uvisland rotations to the objects orientation so that for example if i`m unwrapping a head the head is oriented the right way in the uv.
    • that's a problem. imagine a shpere where the uv got a seam on the back of the sphere from one pole to the other pole. the uv is then releaxed and unfolded. the relative rotation now depends on what section you look at. the polygons on top of the sphere will result in different rotation than the bottom polygons or front polygons. i could use the centroid (the weighted center of the uv shell) but this would be also a rough guess and will result in wrong orientation most of the time. i will think about it and check if there is another possibility to get this feature running
    3. ability to create clusters by topology continuity , so lets say i have a subobject split in 2 uvislands i usually want to keep those packer together
    • called grouping. select the clusters you want to stay together and assign them to the same group
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    ah thanks for the info

    yeah i see

    on the last one i meant actually having a function that does the grouping for you. It might be overkill for an object with 2 uv islands but there could be a scenario where theres 30 uvislands for 1 mesh and trying to find all of those might be a lot of extra work
  • tynew
    Offline / Send Message
    tynew polycounter lvl 9
    Just wondering Snoelk are you going to be providing documentation with purchase on how to use/understand all the features of IPackThat?
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    Are there any updates?
    i'm very exited for this tool ^^
  • DylanDon
    Is there an estimated price for this/estimated release date(when we can save?) Me and the studio I work at are interested in purchasing this asap.
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    What i know: 50 euro
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    yep will be around 50€

    nothing new so far from the german court. *sigh*

    Currently doing some refactoring on the internal operations to speed things up again.
    when im done with this i try to implement cuda.

    one question

    with the fbx sdk you can load and save obj files. we stumbled across a weird behavior of how fbx handles obj files when importing them. every uv polygon is seperated and splitted. my tool still handles this and merges them back to the right uv isands. but if you export to fbx or anything other even obj, the uv polygons stay splitted.
    i could implement a way to merge thise uv polygons when i detect a obj import. then the fbx files which are exported will be merged again. this i will do via question box if i should merge uv verts on export. the only problem at this stage, when i merge them, even overlapps will be merged so far.
    is this ok or the alteration of uv vert amount and reindexing polygons is a nogo
  • divi
    Offline / Send Message
    divi polycounter lvl 12
    sounds a bit like it might break baking with cages if you export the cage prior to the ipackthat step. having to export the cage after reimporting the mesh with the packed UVs wouldn't be awesome, but probably something one could live with.

    unrelated to that - is there some way to set a desired texel ratio and an option to see how far away you are from that with the current UVs so one might want to reconsider using non-square UVs instead and see how close those would get?
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    Hmm i dont like the idea that the tool is merging stuff... but if it is a checkbox at the export Than it should be ok for every body
  • joebount
    Offline / Send Message
    joebount polycounter lvl 12
    That sounds like a recipe for disaster to me (reordering points...)
  • Dan Powell
    Offline / Send Message
    Dan Powell polycounter lvl 5
    Hey, been trailing this software - looks nice so far. :) Since we can't save yet I've been just mimicking the output of it as best I can, since the difficult part is calculating optimal solutions.

    Is there a way to make IPackThat automatically group clusters/islands for you based on the element of which they belong to? If not then I feel that could save a lot of time for artists.

    I'm a Games Design/Art student at University, I was wondering if you'd be offering a version for personal/student/non-professional use too? - As cheap as that may make me sound! :P

    Cheers for a good tool. :)
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    There is already a veature for cluster groups, you can asign them to a group, and they will stick together.

    As far as i know, there will not be a student version.
    There will be the standard version for about 50 Euro and a professional version.
  • [PB]Snoelk
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Great news!

    the papers from the german court finaly arrived. we are currently signing the digital papers for steam now. so the release of the tool will be shortly.

    i have found a solution for handling obj fileformats now. i go back to my original one :)
    means that i will not use the fbx sdk handling for obj files.
    the drawback will be, that you cant convert between different fileformats anymore.
    So if you import an obj file, you can only save as obj. if you import an fbx file you wont be able to save as obj.
    fbx sdk is doing a lot of nasty things with obj files ( splitting every uv polygon, killing smoothing groups, destroying vertex normals ). so the way of obj via fbx is totaly screwed.

    Now another information.
    We had a discussion about the professional version here and with some of our beta testers. I will remove the professional version and all features will be available in the normal version.
    That means you can pack any uv shell you want, you can load files with unlimited uv channels and you can batch pack via commandline.
    I also increased the packing performance and efficieny again in the current beta test branch. also fixed a lot of threading bugs.

    You will also be able to buy bulk licenses of IPackThat directly from us. This will be something for some companies or groups that want to buy more than 5 version or so. That way the tool wont use gumroad or steam protection and is usable in restricted networks (many companies forbid outgoing internet access). I will hand out an email soon where you can order such versions.

    Later i will also add a c++ api sdk. this will add the abbility to use the packer from inside a tool as plugin.

    thats all for now

    Cheers
    :nerd:
  • Joost
    Offline / Send Message
    Joost polycount sponsor
    Awesome! Looking forward to the release. :)
  • Thousand
    Offline / Send Message
    Thousand polycounter lvl 9
    cool, looking forward to throwing my money at you!
  • tynew
  • Phoenix995
  • Pedro Amorim
  • almighty_gir
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
  • buyadegara
  • Albedo
    Hi there - any thoughts on academic licensing? I'm sure our Computer Game Arts students could make good use of this excellent tool.
  • Phoenix995
    Offline / Send Message
    Phoenix995 interpolator
    [PB]Snoelk wrote: »
    Phoenix995 wrote: »
    i saw an greenlight that it will cost about 50 €.
    are there any plans for a student verison?


    not yet, and if, then for a professional version with enhanced features for a higher price.
    [PB]Snoelk wrote: »
    We had a discussion about the professional version here and with some of our beta testers. I will remove the professional version and all features will be available in the normal version.

    There will not be a student version neither will there be an advanced version.
    Just the normal version
145791019
Sign In or Register to comment.