Home Technical Talk

IPackThat MODO script

Hey folks, been working on a script to help getting UVs to/from IPackThat.

It's pretty simple to use, hopefully.
Extract this into an "lxserv" folder in your scripts directory, restart MODO - it should work with 801 and 901.
http://www.farfarer.com/temp/IPackThat.zip

To use it:
  • Select your mesh and the UV maps you want to pack.
  • Run the command ffr.IPackThat
  • The script will ask you (once) to find the path to IPackThat (although if it's already installed in the default Steam directory of C: \Program Files (x86)\Steam\SteamApps\common\IPackThat\IPackThat.exe it'll run straight from there). It gets saved in a user variable after that for subsequent runs.
  • The script will then ask you to save an FBX file, then it will fire up IPackThat and load the mesh.
  • Do your packing in IPackThat until you're happy with it.
  • Save back out from IPackThat over the top of the FBX file you sent to it.
  • Close IPackThat.
  • Once IPackThat is closed, the script will kick back in and copy over the UVs from your packed version.
  • If you save elsewhere, the script will ask you to find the new FBX file you saved from IPackThat instead, then it'll load it in and copy the UVs over.

It's an early version, there's probably a bit left to clean up and catch, but any feedback would be welcome :)

As this is an early version, it's probably a good idea to save your scene before running this, just in case.

Replies

  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Wonder how people use that iPackThat at all. Whenever I tried the demo I have always got something spinning forever and nothing else.
  • WarrenM
    Options
    Offline / Send Message
    I use it on every asset I do. If you're running into a bug, send Mario a sample FBX. He's very responsive...
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Not sure how to specify a bug since every asset I tried hangs iPAKThat during loading or makes it spinning forever. Just tried with teapot from Max. At least it loads it and not hangs , then nothing , just spinning forever.

    Am I missing something?
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    gnoop wrote: »
    Not sure how to specify a bug since every asset I tried hangs iPAKThat during loading or makes it spinning forever. Just tried with teapot from Max. At least it loads it and not hangs , then nothing , just spinning forever.

    Am I missing something?

    First, nice script, I don't use Modo but I could see those who do enjoying the connectivity.

    Second, a co-worker and a few other people I know use IPackThat regularly without any problems. Your best bet would be to submit a detailed bug report and see what's going on.
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    I think I found my problem. it's rather feature than bug probably. Uv islands should be not overlapping.
    I was looking for something working as UV pack in Blender or MAx where it makes overlapping UVs of instanced parts unique.

    Curious if somebody know a good solution for that working not forever for more or less complex scene/object?
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    gnoop wrote: »
    I think I found my problem. it's rather feature than bug probably. Uv islands should be not overlapping.
    I was looking for something working as UV pack in Blender or MAx where it makes overlapping UVs of instanced parts unique.

    Curious if somebody know a good solution for that working not forever for more or less complex scene/object?

    Just do a linear pack without rescaling in max and then bring it into IPackThat. Simple and quick.
  • WarrenM
    Options
    Offline / Send Message
    Yeah, I generally run an auto pack in MODO first before importing into iPackThat. Just to give it a clean slate to start with.,
  • [PB]Snoelk
    Options
    Offline / Send Message
    [PB]Snoelk polycounter lvl 7
    Awesome Job man!!!! Double thumbs up :)
    Wanted to check this exchange feature with fbx like the GoZ feature. Did not got the time yet *g*
    If you need a feature to enhance the feature, give me a mail :)
    gnoop wrote: »
    I think I found my problem. it's rather feature than bug probably. Uv islands should be not overlapping.
    I was looking for something working as UV pack in Blender or MAx where it makes overlapping UVs of instanced parts unique.

    Curious if somebody know a good solution for that working not forever for more or less complex scene/object?
    The overlap detection can take some time. The tool is treating overlaps as merged cluster. It will also detect baking offsets and handle them correctly. On export those baking shifted overlaps are placed back to 1-2 area. If you got a problematic mesh, send to support@ipackthat.com with a description what's up. Will try to fix those problems imminent and upload a new patch. Already checked hundreds of meshes and found plenty of edge case with the help of the community. Those bugs are all fixed now. But I can't guarantee that there are still meshes out there that can cause problems. But I can guarantee that those problems are handled top priority:)
  • Farfarer
    Options
    Offline / Send Message
    [PB]Snoelk wrote: »
    Awesome Job man!!!! Double thumbs up :)
    Wanted to check this exchange feature with fbx like the GoZ feature. Did not got the time yet *g*
    Heh, it's quite a simple deal at the moment. Python just waits for the IPackThat process it's called to be terminated, then it checks if the FBX file's modified date is newer than it was when the script saved out previously. If it is, then it just loads it in, copies the UVs over and then deletes it.

    There's nothing particularly special happening in terms of sending data to/from IPackThat directly.
    [PB]Snoelk wrote: »
    If you need a feature to enhance the feature, give me a mail :)
    Having a "Save" button that saves back over the file you've opened by default would be handy in cases like this.

    Perhaps rename the current one as "Save As", Photoshop style.
  • dzibarik
    Options
    Offline / Send Message
    dzibarik polycounter lvl 10
    Just bought it, so this script will be handy. Will it work in 801? My 901 trial ends in 10 days or so and I don't plan to upgrade just yet.
  • Farfarer
    Options
    Offline / Send Message
    It should do, yes. I've tested it with 801 and 901.

    Warren was having issues with it in 801 (that I can't repro here) so any issues there let me know :)
  • WarrenM
    Options
    Offline / Send Message
    Yes, please, if someone can back up my claims I'd appreciate it. :P I don't want to have to scrub my MODO folder or whatever...
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    [PB]Snoelk wrote: »

    The overlap detection can take some time. The tool is treating overlaps as merged cluster. It will also detect baking offsets and handle them correctly. On export those baking shifted overlaps are placed back to 1-2 area. If you got a problematic mesh, send to support@ipackthat.com


    I asked few people around and everybody just shrugged and said the soft simply hangs and does nothing. That's initial impression. I think it needs somewhere with big letters: "MAKE UV ISLANDS UNIQUE FIRST"
  • WarrenM
    Options
    Offline / Send Message
    Yeah, I guess the solution here would be to keep the user informed. If something is going to take a long time, gimme a progress bar or something.
  • dzibarik
    Options
    Offline / Send Message
    dzibarik polycounter lvl 10
    I almost gave up on the software because of the same issue too. It's only this thread convinced me to try this once again and I've opened it only because it was Modo related.

    Script works without hitches in 801 SP3 anyway. Will test with SP5 today.
  • Farfarer
    Options
    Offline / Send Message
    WarrenM wrote: »
    Yes, please, if someone can back up my claims I'd appreciate it. :P I don't want to have to scrub my MODO folder or whatever...
    I've fixed up that bug.

    Turns out the user value for the path to IPackThat had been set up, but not filled. It will now check if the path is valid when it runs and ask you to re-select the .exe if it's no longer there.

    Just redownload from here and overwrite the IPackThat.py file with the new one :)

    EDIT: Updated again with some bugfixes for different naming conventions, also copies over all selected UV maps now, rather than just the first selected.
  • Gaurav Mathur
    Options
    Offline / Send Message
    Gaurav Mathur polycounter lvl 12
    Farfarer and WarrenM use this workflow?  Sold!  Integrated, and working smoothly... finally had a few hours to try this out at home.  :)
  • Gaurav Mathur
    Options
    Offline / Send Message
    Gaurav Mathur polycounter lvl 12
    Is anyone having issues with strange random red overlapping UVs coming back on the automatically imported FBX?  The UVs appear to be laid out properly in IPackThat, and look to be in the right place in MODO's UV view, save for a few red faces -- between 10-20% of the 0-1 space.

    I've made sure that everything is packed into the 0-1 UV space and that there are no overlapping UVs in the UV layout before the FBX goes into IPackThat.
  • StormyBA
    Options
    Offline / Send Message
    StormyBA polycounter lvl 8
    How much of an improvement are people getting over the standard MODO packing? As far as 3D app packing goes I've really found MODO to do a seriously good job compared to the competition. It's also quick to do. 

    Obv Ipackthat is going to do a better job but it's going to take a wile + another step in the workflow. Is the improvement from the MODO pack worth the extra time? Or is it perhaps a better call to only use it on objects that would get the maximum benifit? 
  • Farfarer
    Options
    Offline / Send Message
    Really depends on how complex the asset you're packing is.

    Basically, if it's going to take you longer than 5-10 minutes to do and you're not super fussy about how it's packed, it's worth looking into.

    If it's going to take you a few hours to pack a complex mesh, then it's a no brainer to let IPackThat have at it for half an hour to get as good as or better results.
Sign In or Register to comment.