As an alternative, not-as-good-but-easier approach, could you do basically what xNormal does, in that it looks for a filename inside a set directory? So I export my mesh in <application of the day> (using a one-click script because we're busy) that sends my current mesh to a constant directory with a constant name. IPackThat already has that filename ready so all you have to do is start the program and click go. The downside is that if you've only got the one file 'slot' you're overwriting it every time you change between meshes... but that seems a lit easier than relying on different plugins for different applications. Not that that wouldn't be cool too.
the packing uses multiple threads for packing. each different rotations per uv-shell is handled in a different thread. more thread wont work well due the fact that a uv-shell has to be finished before another shell can be placed. if the rotation steps are at 90° the shell will spawn 4 threads, 0°, 90°, 180°, 270°. If the rotation steps are smaller it will spawn more threads.
So, to make optimum use of my processor (which has 6 cores, 2 threads per core), i should set the rotation steps to 30°?
Voted on Steam +2!! I knew this was coming eventually, now it's nearly here! All that wasted time packing :-(. Everything is changing fast now, Auto Unwrapping, Auto Retopo, Clay modeling without base meshes, Usefull Hard surface booleans, and now this. The future is finally here.
So, to make optimum use of my processor (which has 6 cores, 2 threads per core), i should set the rotation steps to 30°?
sort of. not always its better to allow such fine rotations for every part. from different tests i can tell, that its good to enable small rotations for smaller parts to fill the holes.
Voted on Steam +2!! I knew this was coming eventually, now it's nearly here! All that wasted time packing :-(. Everything is changing fast now, Auto Unwrapping, Auto Retopo, Clay modeling without base meshes, Usefull Hard surface booleans, and now this. The future is finally here.
:thumbup::D:thumbup:
Here the final UI Layout
the groups are expandable now and the header.
The tool nearly reached 400 yes votes on steam greenlight so far. If the process on steam takes too long i will check additional options to publish the tool.
i dunno whats going on but on my second attempt (my first was a character of similar complexity) with a 50k mesh it now calculates for 15 hours and is maybe one third through, in that time i could have made it myself
also i ticked merge on import for the overlapping parts but it still packed them all unique.
can you show me a picture of the uvlayout loaded inside or send to me ?
nearly finished with updating the ui. an updated demo will be coming the next days.
additional i plan to use Open Asset Import LIbrary.
That way i can load plenty of fileformats (fbx, dae, obj, lwo, blender, milkshape etc. pp)
can you show me a picture of the uvlayout loaded inside or send to me ?
nearly finished with updating the ui. an updated demo will be coming the next days.
additional i plan to use Open Asset Import LIbrary.
That way i can load plenty of fileformats (fbx, dae, obj, lwo, blender, milkshape etc. pp)
sadly no, both huge international clients, definitely can't give that data out. if i have time i'll test some asset of my own.
This is INCREDIBLE. An industry changer seriously! Amazing work Snoelk, I hope you continue on this and don't abandon it like a lot of other made programs. Work at your own pace don't get burned out! There is HUGE demand for this!
Once you get it finished, you need to market the shit out of it so the entire games industry knows about it. Then people see it as an essential program to their workflow. You could make a TON of money off this especially with the feedback/input from the fine folks here at Polycount. Maybe even enough to retire if marketed well enough
In a few days( around 2) i can submit a new demo update. This will be a major update.
new features
new wpf UI (metro like)
pause and resume packing (hit space to pause the packing and hit space again to resume)
new Cluster browser
color editor for packing groups (colors for each packing groups are stores to disk and reloaded when a new session is loaded)
fixed overlapping errrors when packing
optimized packing (around 10% faster now)
The cluster browser is the new window on the right side in the second image. its a first prototype.
There you will see all clusters. Each clusters will be drawn to fill the region of each small rectangle item there. That way you can handle very very small items as well.
You will be able to multi select via this wrap-panel as well (as alerady done in the second image).
Also its possible to sort the list inside the browser with different settings (size, id, rotation steps, can rotate, cluster groups etc pp.)
The properties will also be visible in each cluster item. In the image, the first number, is the cluster id and the second number are the rotation steps.
Thats all for now
Again thanks for the great help and input from the polycount comunity.
It's awesome that you can pack uv shells inside horseshoe and donut shaped layouts. Does the tool create uv's or just repack existing uv shells that you author in your 3D app of choice?
Also one suggestion, you might want to think about making this tool run in a command line so studios could use it as a plugin for packing light map uv's as those are still really wasteful because of the above mentioned horseshoe and donut shaped uv layouts.
It's awesome that you can pack uv shells inside horseshoe and donut shaped layouts. Does the tool create uv's or just repack existing uv shells that you author in your 3D app of choice?
It just repacks existing UV's from an OBJ file. You can download the demo on the first page to see how it works.
this is great, when you pack groups will it pack with rectangular bounds or will it have a convex more complex shape so the packing is more optimized?
Also are there No Scale and No Rotate params for groups?
A list of all groups for quick selection would be great too and a way to rightclick a uvisland and have an addtogroup->groupnames option to quickly add islands to exiting groups.
..., when you pack groups will it pack with rectangular bounds or will it have a convex more complex shape so the packing is more optimized?
- its a packing before the real packing start. the result is an packing area where the shells are packed together. the still contain holes and their native contour shapes. when the real packing starts, shells from group 0 will be placed in those groups to fill the holes.
Also are there No Scale and No Rotate params for groups?
- you can easily select all clusters inside a group very easily now via the cluster browser and lock rotation for all clusters inside
- the packing needs to scale stuff, but its scaling all together. different scalings for clusters are not suppoerted yet ( feature request to alow scaling for specific clusters withing specified ranges to fill holes)
A list of all groups for quick selection would be great too and a way to rightclick a uvisland and have an addtogroup->groupnames option to quickly add islands to exiting groups.
- too late. already implemented it ^^ check the clusters browser
ah awesome , didnt realize the clusterbrowser was for the grouping
this seems to have all the features i hoped other packingsoft would have
gonna give the new demo a try
edit:
I`m not sure if this is in there already but can i
-Lock a uvisland in space and let the packing work around that island?
-make a group of prepacked uvislands and not have it pack within that group but do have it pack in the overall packing?
An update on the documentation will follow later that day.
I was not able to finish the color editor for the groups. Sill on it ^^.
here the Changelog in detail
Beta 7 Major Update Version 1.7.5491.459 - 13.01.2015
rework entire UI !!
fixed overlapping bugs inside packing algorithm
fixied bug with selection area and pressed alt key (deselect by mouse area)
optimize packing algorithm (~10% faster now)
add new key commands
Space Pause/Resume packing
PageUp goto original uv-version
PageDown goto best found uv-version
S Toggle Statistics Overlay in Cluster Browser
add new ClusterBrowser (First Version)
new browser to see all clusters and their stats (Key S to Toggle On/Off)
later list can be sorted with user input ( properties, rotation steps, groups etc)
adding Groups will result in spawning different Group Tabs with its own list of clusters (better sort handling)
context menu for selected items to Add to NewGroup | Add Existing Group | Clear Group
Selections are synced with each browser group panel and the work area
new shots with the new ui will be delivered the next days.
- its a packing before the real packing start. the result is an packing area where the shells are packed together. the still contain holes and their native contour shapes. when the real packing starts, shells from group 0 will be placed in those groups to fill the holes.
- you can easily select all clusters inside a group very easily now via the cluster browser and lock rotation for all clusters inside
- the packing needs to scale stuff, but its scaling all together. different scalings for clusters are not suppoerted yet ( feature request to alow scaling for specific clusters withing specified ranges to fill holes)
- too late. already implemented it ^^ check the clusters browser
Tried the software out for the first time today...I gotta say this is pretty impressive! Haven't tested all of the features, but I'm looking forward to the initial release.
1. General / Cluster Settings should probably be tabs, or better designated that they are in fact buttons to choose options.
2. Having Load/Save/Reload in the upper right goes against all my years of indoctrination of having the menu on the left hand side.
3. While the loading progress bar on the bottom does a good job of signifying what it is doing, maybe adding a 'loading' popup centered on the screen could help clarify it a bit.
General Usage thoughts
1. "Draw Margins" option does not seem to be working.
2. Typing numbers into the text field is very clunky and slow, leading to some confusion, on my beast of a machine. Maybe don't have it update the number until enter is pressed.
I apologize if this has already been addressed but this thread has become quite big for me to read every post. there is one feature I would like to see. A minimum area setting. I frequently need to size up small parts but keep some larger parts the correct size. It would be nice if when I pack the uvs the smaller pars never get smaller in the uv space than a certain area size. This is useful when baking out lightmaps for instance.
3. While the loading progress bar on the bottom does a good job of signifying what it is doing, maybe adding a 'loading' popup centered on the screen could help clarify it a bit.
2. Typing numbers into the text field is very clunky and slow, leading to some confusion, on my beast of a machine. Maybe don't have it update the number until enter is pressed.
what text fields? all of them or just a few? could not see this behaviour.
thats some gdi drawbacks when drawing the polygon clusters. right now im adding to draw and paint at end. the result you see. to prevent this i need to draw and paint each poly individual. could be a slow down. need to see if i can fix it some other way.
A minimum area setting. I frequently need to size up small parts but keep some larger parts the correct size. It would be nice if when I pack the uvs the smaller pars never get smaller in the uv space than a certain area size. This is useful when baking out lightmaps for instance.
scaling features for indivual parts are not inside yet. they scale as one if they scale. there was a feature request some weeks ago to mark some clusters so they could be resized to a min area so they could fill holes.
I am sure you could speed things up on multicore systems just by solving two or three different packing solutions at once. I'm sure people would be OK with it if the program worked faster. Put on an option to let the user choose how many solutions to be running at once and you're golden.
Also you could surely automatically generate cluster groups on import based on material IDs. At least make it an option in the cluster browser. That would seriously make grouping islands that will have the same material and don't need as much padding loads easier.
Careful not to go feature crazy and stretch out the release date a year+ to keep adding stuff - seen it happen too many times.
thats for sure a good point. the biggest feature i got bad feelings about cause of this was the new ui. Currently will only implement base feature that dont change the current packing system or the behavior itself. those features i will take care after release. i want a running code version that i can publish right after steam approves this tool.
I am sure you could speed things up on multicore systems just by solving two or three different packing solutions at once. I'm sure people would be OK with it if the program worked faster. Put on an option to let the user choose how many solutions to be running at once and you're golden.
good idea. but this will be an after release feature. for this i have to rework the current handling of the vertex index system. this is done automaticly based on a history index. to achieve this i have to implement a way to get vertices via a stack index too. can be time consuming.
Also you could surely automatically generate cluster groups on import based on material IDs. At least make it an option in the cluster browser. That would seriously make grouping islands that will have the same material and don't need as much padding loads easier.
good idea. will try to get this for the next update. when multiply ids are found on import a message box will ask for different options.
the last facebook post about the new ui got me over 6100 views so far. thats damn impressing. weird that not more people vote on steam. also weird that around 80 people voted no for this tool :poly141:
i can only imagine, that many artist still doubt that this packing tool realy can pack nearly as good as humans, if not better.
It's normally best to post around 11am ET or 8am PT on reddit, during the week. I don't now the statistically best time, but it's best to get it up when people are getting up and to work, where it will have a chance to be up at the top all day.
Also it's best to do a self post, include all the details, and ask for feed back in the title.
The text field I was entering into was the margin. I will try to replicate. I was using a 4096 res with 550 islands.
I also agree with Warren. If you can sell this directly without a middle man I would prefer to buy it that way so you get all of my money. Steam takes 30%, but gets tons of exposure. So for some of us, a direct option would be great. You may even be able to sell it direct and just give us a steam key download, humble bundle does this often.
i already tried to read and check other ways.
the main problem is the secure server and a database to handle the serials or some other easy way of protection.
the other thing is an update mechanism, where you can patch the tool if i got a new version.
additional down here in germany you cant apply so easily for a paypal account (to receive money).
you have to do tons of paperwork with paypal and our tax authority. thats a very very time consuming task.
thats why i realy like steam right now. protection... handled by steam, patching... handled by steam. taxes are come from steam and i dont have to bullshit arround with the german tax authority.
i realy realy which there would be an alternative to steam. but there isnt yet.
if someone of you got another option let me now.
Checking and reading through gumroad docs. Looks very very promising. Handles VAT, updates and serials via cURL. Will sort things out next week.
Just in case you get nervous about serial. This will be used for activation like windows does. After this it won't go online again.
You shouldn't worry so much about serials for the purpose of copy-protection. If demand is there, and there is, your tool will be cracked on cg-persia or so in no time. The only thing you should care about considering serials is to handle support requests limited to those people who verifiably paid for it...
good idea. will try to get this for the next update. when multiply ids are found on import a message box will ask for different options.
+1 on that, would be useful. I haven't tried the tool yet so maybe it's already in, but on a similar note it would be awesome with an option to pack UV shells that belong to the same mesh next to each other (or at least as close as possible). It just feels really messy when shells are scattered all over the place. Just a gripe I have with other packing solutions.
We don't have access to Steam at work, and I'd love to use this tool there if you were able to have another way of distributing it.
i just dislike steam as a tool for professional working. it's close to impossible to equip a studio efficiently with software through steam, it's horrible in fact.
If one could buy licenses and distribute them to certain acounts for the time being like adobe allows it, it would be great. But right now it's just good for your own personal copy of things.
Besides its just slow and clunky. If it would solve those issues i wouldn't mind getting tools there, until then we will have to go on buying and renting stuff somewhere else.
Not sure if this is a feature, but I tried to Ctrl+ left click multiple shells, so that I could try and group them or something, in the main window.
But I get an exception.
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
I also tried to select a shell in the main window, then click on a different shell in the Cluster Browser and crashed the app, with no error.
ok something thats a problem to some users when selling via gumroad.
no paypal.
you can buy there via Discover, Visa (including Visa Electron), Mastercard, AMEX, Maestro, Diner's Club and some debit cards** (whatever this means)
but will continue to look into it
Replies
So, to make optimum use of my processor (which has 6 cores, 2 threads per core), i should set the rotation steps to 30°?
Happy New Year
:thumbup::D:thumbup:
Here the final UI Layout
the groups are expandable now and the header.
The tool nearly reached 400 yes votes on steam greenlight so far. If the process on steam takes too long i will check additional options to publish the tool.
cheers
:nerd:
Good job man!
also i ticked merge on import for the overlapping parts but it still packed them all unique.
nearly finished with updating the ui. an updated demo will be coming the next days.
additional i plan to use Open Asset Import LIbrary.
That way i can load plenty of fileformats (fbx, dae, obj, lwo, blender, milkshape etc. pp)
sadly no, both huge international clients, definitely can't give that data out. if i have time i'll test some asset of my own.
Been struggling with uv`s for a while now.
Your program looks promising.
It packs things as good, if not better then by hand, and it doesn't require hours of your time, per object.
In a production pipeline, if this software is successful, it will save hundreds, if not thousands of hours per project across an entire team.
Once you get it finished, you need to market the shit out of it so the entire games industry knows about it. Then people see it as an essential program to their workflow. You could make a TON of money off this especially with the feedback/input from the fine folks here at Polycount. Maybe even enough to retire if marketed well enough
here a small update.
In a few days( around 2) i can submit a new demo update. This will be a major update.
new features
- new wpf UI (metro like)
- pause and resume packing (hit space to pause the packing and hit space again to resume)
- new Cluster browser
- color editor for packing groups (colors for each packing groups are stores to disk and reloaded when a new session is loaded)
- fixed overlapping errrors when packing
- optimized packing (around 10% faster now)
The cluster browser is the new window on the right side in the second image. its a first prototype.There you will see all clusters. Each clusters will be drawn to fill the region of each small rectangle item there. That way you can handle very very small items as well.
You will be able to multi select via this wrap-panel as well (as alerady done in the second image).
Also its possible to sort the list inside the browser with different settings (size, id, rotation steps, can rotate, cluster groups etc pp.)
The properties will also be visible in each cluster item. In the image, the first number, is the cluster id and the second number are the rotation steps.
Thats all for now
Again thanks for the great help and input from the polycount comunity.
Also one suggestion, you might want to think about making this tool run in a command line so studios could use it as a plugin for packing light map uv's as those are still really wasteful because of the above mentioned horseshoe and donut shaped uv layouts.
It just repacks existing UV's from an OBJ file. You can download the demo on the first page to see how it works.
Also are there No Scale and No Rotate params for groups?
A list of all groups for quick selection would be great too and a way to rightclick a uvisland and have an addtogroup->groupnames option to quickly add islands to exiting groups.
IPackThatDemo
IPackThatDemo ChangeLog
An update on the documentation will follow later that day.
I was not able to finish the color editor for the groups. Sill on it ^^.
here the Changelog in detail
Beta 7 Major Update Version 1.7.5491.459 - 13.01.2015
- rework entire UI !!
- fixed overlapping bugs inside packing algorithm
- fixied bug with selection area and pressed alt key (deselect by mouse area)
- optimize packing algorithm (~10% faster now)
- add new key commands
- Space Pause/Resume packing
- PageUp goto original uv-version
- PageDown goto best found uv-version
- S Toggle Statistics Overlay in Cluster Browser
- add new ClusterBrowser (First Version)
- new browser to see all clusters and their stats (Key S to Toggle On/Off)
- later list can be sorted with user input ( properties, rotation steps, groups etc)
- adding Groups will result in spawning different Group Tabs with its own list of clusters (better sort handling)
- context menu for selected items to Add to NewGroup | Add Existing Group | Clear Group
- Selections are synced with each browser group panel and the work area
new shots with the new ui will be delivered the next days.- its a packing before the real packing start. the result is an packing area where the shells are packed together. the still contain holes and their native contour shapes. when the real packing starts, shells from group 0 will be placed in those groups to fill the holes.
- you can easily select all clusters inside a group very easily now via the cluster browser and lock rotation for all clusters inside
- the packing needs to scale stuff, but its scaling all together. different scalings for clusters are not suppoerted yet ( feature request to alow scaling for specific clusters withing specified ranges to fill holes)
- too late. already implemented it ^^ check the clusters browser
cheers
:nerd:
this seems to have all the features i hoped other packingsoft would have
gonna give the new demo a try
edit:
I`m not sure if this is in there already but can i
-Lock a uvisland in space and let the packing work around that island?
-make a group of prepacked uvislands and not have it pack within that group but do have it pack in the overall packing?
1. General / Cluster Settings should probably be tabs, or better designated that they are in fact buttons to choose options.
2. Having Load/Save/Reload in the upper right goes against all my years of indoctrination of having the menu on the left hand side.
3. While the loading progress bar on the bottom does a good job of signifying what it is doing, maybe adding a 'loading' popup centered on the screen could help clarify it a bit.
General Usage thoughts
1. "Draw Margins" option does not seem to be working.
2. Typing numbers into the text field is very clunky and slow, leading to some confusion, on my beast of a machine. Maybe don't have it update the number until enter is pressed.
3. I drag selected a box around some clusters, and when I clicked to confirm my selection I received this error: https://dl.dropboxusercontent.com/u/2344272/crit/ipackthaterror.jpg I couldn't get rid of the drag select box, but could select all of the options.
4. It looks like your "Fill Polygons" option sometimes doesn't fill all of the polygons: https://dl.dropboxusercontent.com/u/2344272/crit/ipackthatmoreerrors.jpg Compare the wires to the filled polygons, some are the background color.
Also, what does this high lighted number mean? It could use a label.
Also I let your packer run for 30 minutes and it got to 95%. It took me around 12 hours by hand to get to less than that. Amazing.
- added moore tooltip when you are hovering with mouse over an item. will be in next update
- for this case, the first number is with margin and the second without margin
:poly121:thats all for now
thanks to stromberg90 i could adress some other stuff too.
a new update will be released the next days.
Additional we nearly hit 500 votes on steam now. when my sources a correct this might be a magic number for tools to get approved.
cheers
:nerd:
HINT HINT
got a gun to 98% used area in about 30 sec!
it took me about 3 hours to get to 95% by hand...
i love it
the last facebook post about the new ui got me over 6100 views so far. thats damn impressing. weird that not more people vote on steam. also weird that around 80 people voted no for this tool :poly141:
i can only imagine, that many artist still doubt that this packing tool realy can pack nearly as good as humans, if not better.
cheers
:nerd:
Also it's best to do a self post, include all the details, and ask for feed back in the title.
The text field I was entering into was the margin. I will try to replicate. I was using a 4096 res with 550 islands.
I also agree with Warren. If you can sell this directly without a middle man I would prefer to buy it that way so you get all of my money. Steam takes 30%, but gets tons of exposure. So for some of us, a direct option would be great. You may even be able to sell it direct and just give us a steam key download, humble bundle does this often.
the main problem is the secure server and a database to handle the serials or some other easy way of protection.
the other thing is an update mechanism, where you can patch the tool if i got a new version.
additional down here in germany you cant apply so easily for a paypal account (to receive money).
you have to do tons of paperwork with paypal and our tax authority. thats a very very time consuming task.
thats why i realy like steam right now. protection... handled by steam, patching... handled by steam. taxes are come from steam and i dont have to bullshit arround with the german tax authority.
i realy realy which there would be an alternative to steam. but there isnt yet.
if someone of you got another option let me now.
Just in case you get nervous about serial. This will be used for activation like windows does. After this it won't go online again.
When is the next update due? Great job btw!
i just dislike steam as a tool for professional working. it's close to impossible to equip a studio efficiently with software through steam, it's horrible in fact.
If one could buy licenses and distribute them to certain acounts for the time being like adobe allows it, it would be great. But right now it's just good for your own personal copy of things.
Besides its just slow and clunky. If it would solve those issues i wouldn't mind getting tools there, until then we will have to go on buying and renting stuff somewhere else.
But I get an exception.
************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
I also tried to select a shell in the main window, then click on a different shell in the Cluster Browser and crashed the app, with no error.
The next update will be available the next two days.
no paypal.
you can buy there via Discover, Visa (including Visa Electron), Mastercard, AMEX, Maestro, Diner's Club and some debit cards** (whatever this means)
but will continue to look into it
here a nice packing example when we tested around a bit