but if thats the case I dont think it fits in my collection,- I could imagine though some general fix stuff like:
- png difuse channel gets cloned to alpha channel but with mono channel alpha output (thats something I have to setup each time for my engine)
- search for matching spec, bump, normal, alpha,... map names in the same folder as the difuse map and apply it to the same material. A larger array of common name prefixes could help searching for them, e.g dif_metal_door_a.tif, spec_metal_door_a.tif,...
Really good tools, great functionality and great UI ! Thank you for developing them !
It will be great if the TexTools panel can be docked to the UVunwrap EDIT dialog, and the panel move along with the Edit dialog nomatter you move ,or resize it. (maybe if you add a little arrow button to dock/undock)
Something like this:
Another great thing will be to change the layout from vertical to horizontal (with another little button )
sadly even till today nobody could help me with that,- in other words I was already after a dock able thingy the thing is I dont know how the maxscript works because if I follow the maxscript dpcumentation it should work but it does not.
About the horizontal thing,- maybe within a different version- right now I depend on the visual maxscript listener to add more stuff or change the layout- scripting things dynamicly would remove this freedom and would require some framework.
Some for other inputs that came like flexible spaces and sizes- not gonna happen anytime soon.
This is already an invaluable tool, hjs. Thanks a lot for the effort you've put into this, including the swift response to people's requests.
I'm having trouble with undo (namely that it won't), not sure if you're aware of this. Using 2009 64, should it matter.
I really like how compact this is, by the way. No space wasted, and the buttons are very elegant and they convey the information well (even though I keep clicking the button above the 'aligh shell' one by accident, which is extra annoying because it won't undo )
I think you should tile the checker map automatically, at least for the rainbow coloured one. I usually tile it by 5 times (I know I can edit the png in photoshop if I wanted to, but then it would increase the image size and I assume it will be better if its smaller)
I'm using 2009 too and I have some problems with undo, like the normalize and crop to used uv space buttons cant be undone. But everything else seems to work fine.
I dont think docking to UV edit window is such a great idea considering some of these buttons are great because it doesnt need you to open the uv window, such as the bake wire/ao to clipboard and the material switching. Unless you mean it only docks to the uv edit window when the uv edit window is open, which would be ok I guess.
I just wish I could drag things from this to my floating main toolbar, because right now I have 2 floating bars and its annoying Its especially annoying how this textools always loads up on the middle of the screen and no option to save last position so I have to drag it each time I start max.
I dont really like having the UI there at all but I see no other way of having that awesome ao/wire baking stuff without the necessary input boxes, everything else though I would like to hide and turn it into a hotkey
Of course this is still a awesome tool and I really appreciate the work and time you put into this!
I think you should tile the checker map automatically, at least for the rainbow coloured one. I usually tile it by 5 times (I know I can edit the png in photoshop if I wanted to, but then it would increase the image size and I assume it will be better if its smaller)
any suggestions for that? - another input box would not be so nice, maybe a micro button mode toggle? or the right click for a scale mode (1x,4x,8x).
I have read somewhere that the scrollwheel can be accessed in maxscript using dotNet maybe that might give interesting options.
I dont think docking to UV edit window is such a great idea considering some of these buttons are great because it doesnt need you to open the uv window, such as the bake wire/ao to clipboard and the material switching. Unless you mean it only docks to the uv edit window when the uv edit window is open, which would be ok I guess.
exactly that was my idea,- the first time on a object to you pop up the uv-edit window (inited from within the toolbar only) it would align next to the texTools toolbar. Depending on the position of the toolbar the uv-edit window would then appear either right or left from the toolbar.
But like i pointed out I had no luck with the maxscript code for example I tried:
[php](selection[1]).modifiers[#unwrap_uvw].unwrap5.setWindowXOffset 64;[/php]but nothing happens,- so I assume (not 100% sure) autodesk/discreet messed that one up as well.
It would be imo. a nice feature since at least I have to align the uv-edit window each time I edit a new object.
Its especially annoying how this textools always loads up on the middle of the screen and no option to save last position so I have to drag it each time I start max.
will work on that
I dont really like having the UI there at all but I see no other way of having that awesome ao/wire baking stuff without the necessary input boxes, everything else though I would like to hide and turn it into a hotkey
yes planned but a big structure change for me,- so you will have to wait a little bit.
If you want specifics as macro keys I can help you with that meanwhile - but it would be better if everything within the package would be key-map able.
Another advantage buttons have over keys are their right and left click behaviour. For example on 3 buttons I already applied a right click command (checker map = reset, align verts = ease simulation, distribute verts on flow = ease simulation). And I plan to do the same on some other keys because unlike Silo max does not support sticky keys. Which means that as long as you hold keys something else happens till you release.
With buttons I have at least a right click which already gives me a secondary option for tools.
I might have mentioned some of these already but here is a personal wish list I would like to archive on additional tools:
1.) stack shells: stack the selected equally shells on each other. For this I need to analyze the verts structure and rotate/scale each shell till the match on each other.
2.) symetry autocomplete: by selecing one edge of a shell that defines a symetry axis a script would mirror the results on booth sides. Maybe a optional mode where you select the desired half will define the desired mirrored result on the other side.
3.) Align to 3d space: a simple script that rotates shells the way one would read the model from the side views. Often max flips or rotates shells in a way that you dont notice it instantly by hitting this tool it would make sure that the shell is rotated in a readable direction.
4.) Another alternative RTT pass based on this tutorial (skylight, scanline renderer) http://www.game-artist.net/forums/vbarticles.php?do=article&articleid=37 http://www.marcusdublin.com/ParagalisTutorialPage7.html
5.) transfer UV maps from UV A to UV B. This would be done by setting the target UV channel of the material to the input UV and the target rendering UV of the render to texture process to UV channel B. My hopes are that even alpha maps could then be good enough transfered (e.g PNG textures).
6.) render thumbnails of the UV layouts in a popup dialogue box so one knows what UV's are present and how they look like at a glance.
7.) align shell to outer edge slection pair. This is something modo and uvLayout have and its very powerfull: you simply select a outer edge of a shell and hit the tool - it will then automaticly align that related shell to the other edge of antoehr shell. That way you dont have to move/rotate each shell by hand if you want to stitch it with others.
8.) Render Face groups to clipboard. This is a personal favourite: in this script it would render each shell in a different color (random or given array with pre-defined colors). This could help alot blocking out shells in Photoshop as each shell is already id'd with a different color.
9.) peak & pits: http://www.scriptspot.com/3ds-max/pits-peaks
in a RTT clipboard script- propably the same as polyboost and max2010 offer but still a nice option for dirtmaps.
10.) autofix texture path's additional alpha, spec, bump, normal,.. .maps on the current object's material. For example if I simply drag a PSD texture on the object - hit the button it will then automaticly search within the same path as the PSD texture for the other maps besides the difuse.
as you can see I have already quite a big list of personal wishes,- unfortunately there are not that many open (not compiled) maxscripts that focus on UV tools or texture rendering to learn from.
Love the toolset thusfar. One question that popped up for me though:
Shouldn't the 'Pack UVs' button also run the 'rotate selection to minimal bounding box size' on each shell first, before it packs them? This would lead to a tighter pack almost every time, wouldn't it? I can understand situations where people wouldn't want the normalize function to be wrapped up in this as well, but the rotate to minimize the area function seems to make sense to me, I can't think of a time when you'd be running an autopack and wouldn't want it to do that.
7.) align shell to outer edge slection pair. This is something modo and uvLayout have and its very powerfull: you simply select a outer edge of a shell and hit the tool - it will then automaticly align that related shell to the other edge of antoehr shell. That way you dont have to move/rotate each shell by hand if you want to stitch it with others.
Doesn't Max's Stitch Selected tool already do this?
damn,- how could I miss that essential feature all these years- guess I better make it map able to a shortcut without the nagging dialogue,
thx guys for the clarification
I think I have a major breakthrough in regards of the stack shells script
it works already pretty nice (no issues yet) some advantages:
- doesnt need a reference point definition (like UVlaoyut does with [A]-key by marking stack points)
- will support shells with different scales (all scaled down to the same at the end)
- is enough to scrach some face selections of a shell in order to take it into account as a whole shell
- vertex order or face id order of the shells dont matter at all- they could be completely different constructed - as long as their final vertex distribution is somewhat equal it should work. possible disadvantages:
- cant be alway 100% accurate- if a shell has a rotation symetry (180°,90°,...) things are never that exact. But shells could perhaps differ slightly in rotation offset if their density in the center is dense or their shape is rather circular arranged.
here is a little background research I did for this one (explaining somewhat the accuracy)
my reference points are thus:
- the vertex with the shortest distance to the center of the bounding box
- the most distant vertex to the center of the bounding box
with those 2 points which should be in 90% (my guess) of all cases be identical regardless of the rotation of the shell (scale doesn`t matter here) I can align them all to each other.
but the whole precission thing is rather a suspicion of me- because I haven't ran unto such cases yet with my experiments - so it might be even not really the case in practical cases- just me beeing carefull right now, I will include this one soon
Would it be possible to build in some margins of error to this, perhaps user defined, that would allow 'sloppy' alignments of chunks that aren't 100% exactly the same, but very close?
strict = must have same count of verts, faces (the script controls if the user did shit)
weak = can be any shells - even if they are compelely different in shape (the user can select anything he wants)
or just in genreal weak so that it rather depends on the user how well he selected the same shells - because he might want to stack different shells just average on top of each other (because they are different)?
Hey renderhjs, just tried out textools and gotta say i'm liking it quite a bit.
Was about time someone put together a good uv package to kill off yee old chugnut.
Anyhow, got a few suggestions and questions (forgive me if theyve already been posted, every reply in this thread is a wall of text). First, I like the feature for quickly switching between checker patterns, but would it be difficult to implement a way to tell it how much to tile them? at default the checkers are huge. Also would like to see a 2nd turn button that rotates 90 degrees instead of 180, with a rmb mode for turning left instead of right.
Bug wise, actually i'm not sure if its a bug or what, but after using the open/close uv dialog box the colors changed in it. granted its easier to see things now, but was it intentional?
any suggestions for that? - another input box would not be so nice, maybe a micro button mode toggle? or the right click for a scale mode (1x,4x,8x).
I have read somewhere that the scrollwheel can be accessed in maxscript using dotNet maybe that might give interesting options.
maybe you have suggestions? - I would like to keep input types to a minimum.
Maybe it could be computed out of the defined texture size at the header of the toolbar?, e.g a low resolution like 256² would use a single tile, 512² 2x, 1024² 4x, 2048² 8x - how does that sound?
Or do you guys want to be able to cylce through tile settings?
Also would like to see a 2nd turn button that rotates 90 degrees instead of 180, with a rmb move for turning left instead of right.
do you use it?,- as Vig pointed out its basicly already somewhat present in the default max GUI (at the lower panel of the UV edit window). sure I could do that but I am not sure atm. if I keep those buttons - maybe I convert them to pixel translation buttons but not like they are now.
Something else I ran into, and i'm not sure if its a bug or what, but after using the open/close uv dialog box the colors changed in it. granted its easier to see things now, but was it intentional?
yes sorry, it still overwrites the colour settings of the unwrapUV window even if you open it the regular way.
I will add sometime soon some additional variables that change and reset to prior settings once the code is executed for opening the window. That way no settings will be harmed or altered on your max.
maybe you have suggestions? - I would like to keep input types to a minimum.
Maybe it could be computed out of the defined texture size at the header of the toolbar?, e.g a low resolution like 256² would use a single tile, 512² 2x, 1024² 4x, 2048² 8x - how does that sound?
Or do you guys want to be able to cylce through tile settings?
Would probably prefer to have a manual way to input the amount of tiling, as doing it based on texture resolutions is sort of restricting. I normally unwrap with the regular checkers at 10x tiling, and would probably just end up cranking up the texture res on every model to get something close before bringing it back down when rendering the template.
do you use it?,- as Vig pointed out its basicly already somewhat present in the default max GUI
Oops, had completly forgotten
I'm so used to using the chugnut menu for everything while unwrapping these days that I hardly even pay attention to the normal max ui.
--
edit:
Something else I just thought of that would be nice to have is a relax brush in the uv window. Maybe with pressure sensitivity for determining the # of iterations. would also love to see an lscm/headus-esk relax feature, though that's probably beyond the scope of what your trying to do with these tools.
meh to much work and crappy timing:
be warned 2.1 MB gif ani (we're past another page soon here anyway if it goes like this )
its supposed to be a more complete workflow vid using the newer functions - I counted the clicks and I was at about 107 clicks for unwrapping this link.
I used this sdk by JFletcher http://boards.polycount.net/showpost.php?p=911817&postcount=2161
and basicly re unwrapped it - the final UV could(should) be way more optimized but its a overview that shows how to quickly devide the 3d shape into usefull uv-shells with a few clicks.
The stack uv-shells works nice as well for instancing uv-space (usually semetrical stuff).
anyway while doing this I noticed that shortcuts on the keyboard really would speed things up, and the Stitch Selected is a pain in the ass to use (target menu ,- pick stich selected (even hard to disguinish from the other long strings), and even ok'ay the dialogue) - thats shit workflow.
Same for relaxing stuff all the time,- I think I will add a mode similar to the vert align simulate thingy that will run constantly until you hit again on the button.
no release yet,- wanted to add some fixes first some people of you have been asking for
Something else I just thought of that would be nice to have is a relax brush in the uv window. Maybe with pressure sensitivity for determining the # of iterations.
Also, even though this is probably way beyond the scope of what you hope to do with this set of tools, is their any chance you'll be taking a stab at auto-packing the uvs or including an lscm/headus-esk relax feature? Unwrella has made me think again about how great it would be to have these features in max.
hmm might be difficult to fetch the mouse position and then even fetch the mouse buttons states. I think those are the major problems if that were possible I might see a change for something like that.
As for implementing lscm or other complicated stuff : thats nothing for me - I might appear as a coder here in this thread but I am honestly more a designer and artist- I know when it gets to hardcore for me. This is all rather part time to make bigger steps in the next art project.
regarding unwrella: kinda hate it - because its made for people that never learned propper uv-mapping (they should instead check uvLayout, modo, silo,...). I also dont like the lack of interaction (just like lscm in many apps) you just hit a button and the software is supposed to make it perfect. But it often results into a UV that is not anymore readable by the artist or any human eyes.
Btw. 2 of our students from this uni work for the company atm. that release unwrella so I kinda knew about it quite early- they are promiting it lately quite frequently on many sites.
anyway while doing this I noticed that shortcuts on the keyboard really would speed things up, and the Stitch Selected is a pain in the ass to use (target menu ,- pick stich selected (even hard to disguinish from the other long strings), and even ok'ay the dialogue) - thats shit workflow
If you hotkey stitch it works perfectly, exactly how you would expect it to (select edge, hit hotkey, whole shell snaps onto the edge).
And yes keyboard shortcuts, need!
About the tiling checker thing, I don't think the texture size for the model has any relevance at all or am I not understanding your question properly? The texel density in the viewport is going to look the same regardless of model size and I'd tile it by at least 5 no matter what model I'm working on. I'd tile it by 10 if the model has a complex UV unwrap with many small shells like some vehicle.
I have no idea how to implement it into the script though that will suit everyones needs other than a input box.
For the different-size checker things, is there any way that the checker button could be a "drop-down menu button" like the Max2008 DirectX Material Display where you click+hold on the icon, and it pops up a couple of options, you highlight the one you want and it becomes that button until you change it. Then just have a few defaults (checkers which work well for 512x512, 1024x1024, 2048x2048 maps for example) and it should be fine.
about the whole tile settings,
I think I will add a input text box (about 2 digits wide) in which you can define from 1 - 99 the amount of tiling of the checker maps.
the RTT AO stuff
which requires atm 3 buttons and 2 spinners will be reduced to just 1 button. If you hit it it will render with the last stored settings, right click will open a additional floater/window in which you can define all the settings for the render pass. That way I will save alot space so that I can also easier add additional RTT modes besides classic AO for dirtmaps.
cool, just tried this new rainbow coloured map from duber's blog and I prefer this one over my old one and I replaced it in your mzp
I edited your script a bit btw to remove the 2 other checkermaps, but I seem to have broken the continuous toggle looping when you left click the icon and instead left click puts on checker permanently and right click resets to previous material, which is fine for me
I personally don't see much use in those tracking UV maps.
I like the sound of the RTT AO stuff, never saw much use for the low quality one anyway. Actually I'd probably stick to the skylight/scanline render method when you put that in, dont like the mental ray results much (most likely because I don't understand how to use the settings to my advantage, while the skylight method takes almost zero effort/knowledge )
Oh go right ahead, that's why I posted it. I think I remember him saying he got it from another coworker ages ago. He emailed our whole art team with it in case anyone wanted it. These things are meant to be shared.
I tidied up the GUI and added 2 essential buttons at the head. The UV/Texture size ² is now a simplified input box the bleeding is next to it. I think that default values ( e.g 1024 | 8 ) will already tell most people what they are for - in addition the new help button will at some point help out with that.
The background color setting will affect only the UV editor backgruond color and the viewport background color if you are in #flat mode from the panel - reverting back to the default view mode will set you previous color back.
the new buttons in the head are: - help:
will have at some point a image or illustration similar to this one that will in short describe the functionality of each button
- setup/settings:
so far I planned to store like others here suggested storing the settings in a INI file on the system so that next time you launch the script previous settings and preferences will be restored. What will be stored ?
• toolbar position
• background color (uv editor & difuse view bkg color)
• checker map tile amount
• the texture checker map types you want to include in the cycle (so if you only like a certain one you can just check that one)
apart from those changes I plan to onRightClick over the AO RTT button to popup another floater with the settings (samples, falloff,...). A reular left click on the button will render to the clipboard.
Yeah, this is really shaping up, keep at it! The only thing I was looking around for (and I'm probably an idiot), was how to bind the script to a key... Am I wrong in assuming it should turn up in the edit shortcut-settings, or are there other ways around having to launch the script manually for each session? As for AO I'm also looking forward to a simple light tracer scanline-version...
Had some crazy relax-function running amok on me, but apart from that many thanks!
The uv-map cycling doesn't work on multiple objects either (in max 2009). It only cycles it on one of the objects initially, and sometimes seems to work, but then randomly starts only cycling on one of them again. Very strange, but maybe you know what causes it?
MightyPea : because I never intended it to be like that,- I started this in max9 - its just recently that I switched over to max2009.
And like I mentioned before it will be eventually fixed or added later - right now I want to stay compatible with max 9.
Is the 'crop to used UV space' intended to fit it within 0 to 1 space then expand it to fill it as much as possible? It did for me at one point, but when I was running it on other models it seemed to be filling 0 to 0.5 or maybe 0.4 space for some reason.
hi. just started to try this wondeful looking script.
unfortunately i ran into some problems. hope you don't mind if i post them here.
if i use the render uv to clipboard button this pops up:
i use max8. my fault(maybe just run the script is not enough?) or is there a problem in the code?
thanks and keep up the good work. looks really promising.
fade1: I am sorry but I highly assume that the dotNet functionality is only available through 3dsmax9.
A possible workaround would be to render just like the script does into a temporary folder and then launch photoshop with the image (or if its already launched open the image in it) using this technique: http://boards.polycount.net/showthread.php?t=61800#20
just in case you really really want a close soloution for max8
good news
I found a way to merge my current code style with macroscripts that can be assigned to the interface or to shortcuts. The neat thing though not well documented is that I can pass through parameters from within macroscript-keys - so that alternative modes from my current functions can be assigned on different keys while internally they call the same function just using different variables.
I am already starting with a rough layout - expect some basic macroscript support of the most important functions in the next release.
yeah i tried this, and it wasn't compatible with max8. any idea how i can copy to clipboard in max8?
oh btw, thanks for the links on the other thread, pretty helpful!
no,- dotnet was introduced in max9 it lets you use ms dot net classes or libraries within maxscript. It's usually used for advanced GUI stuff like tabs and multi column list views with fancy stuff.
It might be possible using a xtra *.exe tool that would take a parameter of the temporary bitmap to copy to the OS clipboard. But honestly finding such a tool is rather unlikely to find- besides you would need it in addition to your script - so not a nice way. Maybe search for a commandline tool or smal utility on which you can pass parameters through that does this copyToClipboard image thing.
I plan to eventually fill that page with smal animations showing how to use the tools and perhaps at some point add some tuturials to get more out of unwrapping and getting faster. As for the macroscripts I finally got the hang of it
to bad I cant put it in the UVW Unwrap group (seems I cant access that via maxscript), that way it runs at the MainUI scope.
Replies
- png difuse channel gets cloned to alpha channel but with mono channel alpha output (thats something I have to setup each time for my engine)
- search for matching spec, bump, normal, alpha,... map names in the same folder as the difuse map and apply it to the same material. A larger array of common name prefixes could help searching for them, e.g dif_metal_door_a.tif, spec_metal_door_a.tif,...
It will be great if the TexTools panel can be docked to the UVunwrap EDIT dialog, and the panel move along with the Edit dialog nomatter you move ,or resize it. (maybe if you add a little arrow button to dock/undock)
Something like this:
Another great thing will be to change the layout from vertical to horizontal (with another little button )
Cheers!
http://scriptspot.com/forums/3ds-max/general-scripting/unwrap-editor-window-setwindowxoffset-not-working
sadly even till today nobody could help me with that,- in other words I was already after a dock able thingy the thing is I dont know how the maxscript works because if I follow the maxscript dpcumentation it should work but it does not.
About the horizontal thing,- maybe within a different version- right now I depend on the visual maxscript listener to add more stuff or change the layout- scripting things dynamicly would remove this freedom and would require some framework.
Some for other inputs that came like flexible spaces and sizes- not gonna happen anytime soon.
Anyway, your tools rock even without fancy UI options!
I'm having trouble with undo (namely that it won't), not sure if you're aware of this. Using 2009 64, should it matter.
I really like how compact this is, by the way. No space wasted, and the buttons are very elegant and they convey the information well (even though I keep clicking the button above the 'aligh shell' one by accident, which is extra annoying because it won't undo )
I'm using 2009 too and I have some problems with undo, like the normalize and crop to used uv space buttons cant be undone. But everything else seems to work fine.
I dont think docking to UV edit window is such a great idea considering some of these buttons are great because it doesnt need you to open the uv window, such as the bake wire/ao to clipboard and the material switching. Unless you mean it only docks to the uv edit window when the uv edit window is open, which would be ok I guess.
I just wish I could drag things from this to my floating main toolbar, because right now I have 2 floating bars and its annoying Its especially annoying how this textools always loads up on the middle of the screen and no option to save last position so I have to drag it each time I start max.
I dont really like having the UI there at all but I see no other way of having that awesome ao/wire baking stuff without the necessary input boxes, everything else though I would like to hide and turn it into a hotkey
Of course this is still a awesome tool and I really appreciate the work and time you put into this!
any suggestions for that? - another input box would not be so nice, maybe a micro button mode toggle? or the right click for a scale mode (1x,4x,8x).
I have read somewhere that the scrollwheel can be accessed in maxscript using dotNet maybe that might give interesting options.
exactly that was my idea,- the first time on a object to you pop up the uv-edit window (inited from within the toolbar only) it would align next to the texTools toolbar. Depending on the position of the toolbar the uv-edit window would then appear either right or left from the toolbar.
But like i pointed out I had no luck with the maxscript code for example I tried:
[php](selection[1]).modifiers[#unwrap_uvw].unwrap5.setWindowXOffset 64;[/php]but nothing happens,- so I assume (not 100% sure) autodesk/discreet messed that one up as well.
It would be imo. a nice feature since at least I have to align the uv-edit window each time I edit a new object.
will work on that
yes planned but a big structure change for me,- so you will have to wait a little bit.
If you want specifics as macro keys I can help you with that meanwhile - but it would be better if everything within the package would be key-map able.
Another advantage buttons have over keys are their right and left click behaviour. For example on 3 buttons I already applied a right click command (checker map = reset, align verts = ease simulation, distribute verts on flow = ease simulation). And I plan to do the same on some other keys because unlike Silo max does not support sticky keys. Which means that as long as you hold keys something else happens till you release.
With buttons I have at least a right click which already gives me a secondary option for tools.
I might have mentioned some of these already but here is a
personal wish list I would like to archive on additional tools:
1.) stack shells: stack the selected equally shells on each other. For this I need to analyze the verts structure and rotate/scale each shell till the match on each other.
2.) symetry autocomplete: by selecing one edge of a shell that defines a symetry axis a script would mirror the results on booth sides. Maybe a optional mode where you select the desired half will define the desired mirrored result on the other side.
3.) Align to 3d space: a simple script that rotates shells the way one would read the model from the side views. Often max flips or rotates shells in a way that you dont notice it instantly by hitting this tool it would make sure that the shell is rotated in a readable direction.
4.) Another alternative RTT pass based on this tutorial (skylight, scanline renderer)
http://www.game-artist.net/forums/vbarticles.php?do=article&articleid=37
http://www.marcusdublin.com/ParagalisTutorialPage7.html
5.) transfer UV maps from UV A to UV B. This would be done by setting the target UV channel of the material to the input UV and the target rendering UV of the render to texture process to UV channel B. My hopes are that even alpha maps could then be good enough transfered (e.g PNG textures).
6.) render thumbnails of the UV layouts in a popup dialogue box so one knows what UV's are present and how they look like at a glance.
7.) align shell to outer edge slection pair. This is something modo and uvLayout have and its very powerfull: you simply select a outer edge of a shell and hit the tool - it will then automaticly align that related shell to the other edge of antoehr shell. That way you dont have to move/rotate each shell by hand if you want to stitch it with others.
8.) Render Face groups to clipboard. This is a personal favourite: in this script it would render each shell in a different color (random or given array with pre-defined colors). This could help alot blocking out shells in Photoshop as each shell is already id'd with a different color.
9.) peak & pits:
http://www.scriptspot.com/3ds-max/pits-peaks
in a RTT clipboard script- propably the same as polyboost and max2010 offer but still a nice option for dirtmaps.
10.) autofix texture path's additional alpha, spec, bump, normal,.. .maps on the current object's material. For example if I simply drag a PSD texture on the object - hit the button it will then automaticly search within the same path as the PSD texture for the other maps besides the difuse.
as you can see I have already quite a big list of personal wishes,- unfortunately there are not that many open (not compiled) maxscripts that focus on UV tools or texture rendering to learn from.
Shouldn't the 'Pack UVs' button also run the 'rotate selection to minimal bounding box size' on each shell first, before it packs them? This would lead to a tighter pack almost every time, wouldn't it? I can understand situations where people wouldn't want the normalize function to be wrapped up in this as well, but the rotate to minimize the area function seems to make sense to me, I can't think of a time when you'd be running an autopack and wouldn't want it to do that.
Keep up the good work!
Doesn't Max's Stitch Selected tool already do this?
like this?
basicly it moves the whole shell based on a single edge selection to the counter part of that edge
thx guys for the clarification
it works already pretty nice (no issues yet)
some advantages:
- doesnt need a reference point definition (like UVlaoyut does with [A]-key by marking stack points)
- will support shells with different scales (all scaled down to the same at the end)
- is enough to scrach some face selections of a shell in order to take it into account as a whole shell
- vertex order or face id order of the shells dont matter at all- they could be completely different constructed - as long as their final vertex distribution is somewhat equal it should work.
possible disadvantages:
- cant be alway 100% accurate- if a shell has a rotation symetry (180°,90°,...) things are never that exact. But shells could perhaps differ slightly in rotation offset if their density in the center is dense or their shape is rather circular arranged.
here is a little background research I did for this one (explaining somewhat the accuracy)
my reference points are thus:
- the vertex with the shortest distance to the center of the bounding box
- the most distant vertex to the center of the bounding box
with those 2 points which should be in 90% (my guess) of all cases be identical regardless of the rotation of the shell (scale doesn`t matter here) I can align them all to each other.
but the whole precission thing is rather a suspicion of me- because I haven't ran unto such cases yet with my experiments - so it might be even not really the case in practical cases- just me beeing carefull right now, I will include this one soon
Keep up the great work.
strict = must have same count of verts, faces (the script controls if the user did shit)
weak = can be any shells - even if they are compelely different in shape (the user can select anything he wants)
or just in genreal weak so that it rather depends on the user how well he selected the same shells - because he might want to stack different shells just average on top of each other (because they are different)?
works with scales and different shapes pretty well
now I need to create a icon for the button
Was about time someone put together a good uv package to kill off yee old chugnut.
Anyhow, got a few suggestions and questions (forgive me if theyve already been posted, every reply in this thread is a wall of text). First, I like the feature for quickly switching between checker patterns, but would it be difficult to implement a way to tell it how much to tile them? at default the checkers are huge. Also would like to see a 2nd turn button that rotates 90 degrees instead of 180, with a rmb mode for turning left instead of right.
Bug wise, actually i'm not sure if its a bug or what, but after using the open/close uv dialog box the colors changed in it. granted its easier to see things now, but was it intentional?
PolyHertz: Yozora asked the same on this page @ post:
http://boards.polycount.net/showpost.php?p=911683&postcount=113
regarding tiling, my reply was maybe you have suggestions? - I would like to keep input types to a minimum.
Maybe it could be computed out of the defined texture size at the header of the toolbar?, e.g a low resolution like 256² would use a single tile, 512² 2x, 1024² 4x, 2048² 8x - how does that sound?
Or do you guys want to be able to cylce through tile settings?
do you use it?,- as Vig pointed out its basicly already somewhat present in the default max GUI (at the lower panel of the UV edit window). sure I could do that but I am not sure atm. if I keep those buttons - maybe I convert them to pixel translation buttons but not like they are now.
yes sorry, it still overwrites the colour settings of the unwrapUV window even if you open it the regular way.
I will add sometime soon some additional variables that change and reset to prior settings once the code is executed for opening the window. That way no settings will be harmed or altered on your max.
Would probably prefer to have a manual way to input the amount of tiling, as doing it based on texture resolutions is sort of restricting. I normally unwrap with the regular checkers at 10x tiling, and would probably just end up cranking up the texture res on every model to get something close before bringing it back down when rendering the template.
Oops, had completly forgotten
I'm so used to using the chugnut menu for everything while unwrapping these days that I hardly even pay attention to the normal max ui.
--
edit:
Something else I just thought of that would be nice to have is a relax brush in the uv window. Maybe with pressure sensitivity for determining the # of iterations. would also love to see an lscm/headus-esk relax feature, though that's probably beyond the scope of what your trying to do with these tools.
be warned 2.1 MB gif ani (we're past another page soon here anyway if it goes like this )
its supposed to be a more complete workflow vid using the newer functions - I counted the clicks and I was at about 107 clicks for unwrapping this link.
I used this sdk by JFletcher
http://boards.polycount.net/showpost.php?p=911817&postcount=2161
and basicly re unwrapped it - the final UV could(should) be way more optimized but its a overview that shows how to quickly devide the 3d shape into usefull uv-shells with a few clicks.
The stack uv-shells works nice as well for instancing uv-space (usually semetrical stuff).
anyway while doing this I noticed that shortcuts on the keyboard really would speed things up, and the Stitch Selected is a pain in the ass to use (target menu ,- pick stich selected (even hard to disguinish from the other long strings), and even ok'ay the dialogue) - thats shit workflow.
Same for relaxing stuff all the time,- I think I will add a mode similar to the vert align simulate thingy that will run constantly until you hit again on the button.
no release yet,- wanted to add some fixes first some people of you have been asking for
As for implementing lscm or other complicated stuff : thats nothing for me - I might appear as a coder here in this thread but I am honestly more a designer and artist- I know when it gets to hardcore for me. This is all rather part time to make bigger steps in the next art project.
regarding unwrella: kinda hate it - because its made for people that never learned propper uv-mapping (they should instead check uvLayout, modo, silo,...). I also dont like the lack of interaction (just like lscm in many apps) you just hit a button and the software is supposed to make it perfect. But it often results into a UV that is not anymore readable by the artist or any human eyes.
Btw. 2 of our students from this uni work for the company atm. that release unwrella so I kinda knew about it quite early- they are promiting it lately quite frequently on many sites.
If you hotkey stitch it works perfectly, exactly how you would expect it to (select edge, hit hotkey, whole shell snaps onto the edge).
And yes keyboard shortcuts, need!
About the tiling checker thing, I don't think the texture size for the model has any relevance at all or am I not understanding your question properly? The texel density in the viewport is going to look the same regardless of model size and I'd tile it by at least 5 no matter what model I'm working on. I'd tile it by 10 if the model has a complex UV unwrap with many small shells like some vehicle.
I have no idea how to implement it into the script though that will suit everyones needs other than a input box.
And I agree with your comments about unwrella
BTW the shell stacking stuff is cool.
http://blog.duber.cz/misc/custom-uv-and-tracking-maps-for-vfx-professionals
I think I will include or exchange 1 uv pattern in favour of one of those. The tracking UV maps
are interesting as well it reminds me abit of valve´s world unit checker map
http://i142.photobucket.com/albums/r81/avanj/dod_orange_fight_arena0000.jpg?t=1237168440
but that might be more a case of level editing rather than texture or uv mapping at its core.
about the whole tile settings,
I think I will add a input text box (about 2 digits wide) in which you can define from 1 - 99 the amount of tiling of the checker maps.
the RTT AO stuff
which requires atm 3 buttons and 2 spinners will be reduced to just 1 button. If you hit it it will render with the last stored settings, right click will open a additional floater/window in which you can define all the settings for the render pass. That way I will save alot space so that I can also easier add additional RTT modes besides classic AO for dirtmaps.
I edited your script a bit btw to remove the 2 other checkermaps, but I seem to have broken the continuous toggle looping when you left click the icon and instead left click puts on checker permanently and right click resets to previous material, which is fine for me
I personally don't see much use in those tracking UV maps.
I like the sound of the RTT AO stuff, never saw much use for the low quality one anyway. Actually I'd probably stick to the skylight/scanline render method when you put that in, dont like the mental ray results much (most likely because I don't understand how to use the settings to my advantage, while the skylight method takes almost zero effort/knowledge )
I tidied up the GUI and added 2 essential buttons at the head. The UV/Texture size ² is now a simplified input box the bleeding is next to it. I think that default values ( e.g 1024 | 8 ) will already tell most people what they are for - in addition the new help button will at some point help out with that.
The background color setting will affect only the UV editor backgruond color and the viewport background color if you are in #flat mode from the panel - reverting back to the default view mode will set you previous color back.
the new buttons in the head are:
- help:
will have at some point a image or illustration similar to this one that will in short describe the functionality of each button
- setup/settings:
so far I planned to store like others here suggested storing the settings in a INI file on the system so that next time you launch the script previous settings and preferences will be restored.
What will be stored ?
• toolbar position
• background color (uv editor & difuse view bkg color)
• checker map tile amount
• the texture checker map types you want to include in the cycle (so if you only like a certain one you can just check that one)
apart from those changes I plan to onRightClick over the AO RTT button to popup another floater with the settings (samples, falloff,...). A reular left click on the button will render to the clipboard.
Had some crazy relax-function running amok on me, but apart from that many thanks!
And like I mentioned before it will be eventually fixed or added later - right now I want to stay compatible with max 9.
rasmus: no macroscripts defined yet
Looking forward to the updates!
unfortunately i ran into some problems. hope you don't mind if i post them here.
if i use the render uv to clipboard button this pops up:
i use max8. my fault(maybe just run the script is not enough?) or is there a problem in the code?
thanks and keep up the good work. looks really promising.
A possible workaround would be to render just like the script does into a temporary folder and then launch photoshop with the image (or if its already launched open the image in it) using this technique:
http://boards.polycount.net/showthread.php?t=61800#20
just in case you really really want a close soloution for max8
I found a way to merge my current code style with macroscripts that can be assigned to the interface or to shortcuts. The neat thing though not well documented is that I can pass through parameters from within macroscript-keys - so that alternative modes from my current functions can be assigned on different keys while internally they call the same function just using different variables.
I am already starting with a rough layout - expect some basic macroscript support of the most important functions in the next release.
oh btw, thanks for the links on the other thread, pretty helpful!
It might be possible using a xtra *.exe tool that would take a parameter of the temporary bitmap to copy to the OS clipboard. But honestly finding such a tool is rather unlikely to find- besides you would need it in addition to your script - so not a nice way. Maybe search for a commandline tool or smal utility on which you can pass parameters through that does this copyToClipboard image thing.
http://www.renderhjs.net/textools/
I plan to eventually fill that page with smal animations showing how to use the tools and perhaps at some point add some tuturials to get more out of unwrapping and getting faster. As for the macroscripts I finally got the hang of it
to bad I cant put it in the UVW Unwrap group (seems I cant access that via maxscript), that way it runs at the MainUI scope.