do you know if:
-there’s a UV packing algorithm that doesnt use the standard “bounding box” approach ?
-there’s already something more advanced in the works somewhere ? or somewhere hidden in the roadmap to 2.8 ?
I searched quite a while, but couldnt find anything, only some hints in an old 2.6 entry, where it says:
Basically, for gamedevelopement you want something like “IPackThat” has.
If you dont know this tool, here is a quick demonstration:
It uses an advanced packing algorithm that can save alot of texture space.
It produces even better results than any user, if you let it run long enough
Something in that “general direction” would be awesome to have in Blender !
So any thoughts / findings you might want to share on this topic ?
Last year’s GSOC got us close to an improved set of UV tools, including packing. I’ve got no idea how close or far away it is from being merged into master. You can monitor the BA thread if you want more info on its momentum.
I have IPackThat. It seems abandonware and bait and switch at this point. The demo works much better than the actual producet. I hope I’m wrong but that’s the previous impression I got.
Something integrated into Blender would be nice.
Mayas UV Packer looks great, chafouin ! Thats exactly what we need in Blender
I dont know where or when, but I definately will use the Gravity Packer as naively as possible infront of coworkers,
just to upset them.
The ugliest ColorTheme for Blender I can find. That will be hilarious.
Sucks to hear
IPackThat was developed by only one person as far as I know.
Unfortunately it seems that he’s deeply involved in a project right know.
So maybe IPackThat will be updated again once that project is finished.
That would be my hope for IPackThat users, at least.
Still not very comforting I guess…
I did some proof of concepting. Simple shotgun approach on packing UV islands give ~20% improvement with some final adjusting on the UV layer. http://pastebin.com/s4hZF7hs
It’s not an addon. You just copy & paste it into the text editor and run it from there, while having a model selected that has UVs. The script is just a proof of concept that there are some low hanging fruits when it comes to UV packing in Blender.
I just did a test on an cubesphere with 3 iterations of randomized transfom on every vertex.
Every edge was marked as a seam, therefore alot of islands.
I think uv_shotgun did a slightly tighter pack in this special case,
but it also was going over the UV boundaries.
As a proof of concept its a good effort. Thx ambi !
Lets hope SaphireS will get his UV Packer into master !
I made some improvements and made the script into an addon. It’s kind of slow and completely unoptimized so I do not recommend using it for more than 10k edges at the moment.
@LetterRip: Amount used is the used UV polygon area. The algorithm as it stands is quite simple. It just scans from the corners towards the center and tries to place the largest available polygon (by bounding box) in random orientation. If it can’t it just tries again in a farther point until it reaches the center. Then it scales back the entire set to fit the polygon. The collision detection is crude, and should be rewritten to use smarter algorithm. Proper generation of margin is missing.
@brothermechanic: You can cancel the calculation with esc or right mouse button. Also opening the Python console will give you more information.