TexTools: Toolbox for the texture artist

237 votes
Version: 
4.10
Date Updated: 
07/09/2010

Documentation: http://www.renderhjs.net/textools/


What is it:
A collection of tools that helps any texture artist with UV and texture related tasks. The main philosophy is to shorten typical steps into simple context sensitive single clicks. You don't need administrative rights, just drag the MZP file into the viewport and let it install itself into your 3dsMax user folders.

Most scripts are developed by me, I asked some people however to share their scripts and let me include them.Note that the scripts are free to improve, change, use for your own, just include the credits should you repackage anything. I stored each tool into a self contagious *.ms file so it should be easy to explore and extend the scripts for your own needs.

visit
http://boards.polycount.net/showthread.php?t=69736
for more information and discussion

Additional Info: 

Installation: Just drag the MZP file into the viewport and install it from there. All files will be stored in your local 3dsmax userfiles so you don't need any Administrative rights to install it.

 

This 3dsmax user folder is usually located under:
C:\Documents and Settings\user\Local Settings\Application Data\Autodesk\3dsmax\2010 - 32bit\enu\ 

The installation will create a folder within the 'scripts' folder called 'TexTools' in which it will copy all the TexTools files that are needed. Four icon files will be copied into 'UI\usericons' for the macroscripts. Should the installation fail for some reason a prompt window will show up with a instruction on how to copy the files manually to get TexTools running.

Roadkill needs to be downloaded separately from:
http://www.pullin-shapes.co.uk/page8.htm

Version Requirement: 
9, 2008, 2009, 2010, 2011
Other Software Required: 
Photoshop (optional for opening textures in PS), Roadkill for the RK functionality
Video URL: 
AttachmentSize
TexTools_4.10.mzp439.94 KB

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
renderhjs's picture

thx for the comments,

thx for the comments,
@cecofuli: I will do that as soon as it becomes more complete - there are still some main tools missing

update 9.2

download:
http://www.renderhjs.net/bbs/polycount/texture_maxscript_tools/uv_toolbo...
(or top post) 


changes:

  • clipboard mini icons on the render to clipboard buttons (might be now easier for some people to understand right away)
  • new button 'quick flatten' with the clothing ironer 
    makes from your current texture face selection a single UV-shell without the need of xtra seam marking and pelt mapping,- or stitch things together by hand. The secondary mode (right click instead of left click) opens the relax dialogue.

    it took me literally a few clicks to unwrap those elements. Its esspecially usefull in combination with select element mode or slect by angle (default 20° in my 'UV editor' mode).
  • checker material swap recode with 2 additional custom checker maps:

    if you left click on the button it will cycle though the checker maps and the default material (1 = max checker map, 2 = custom PNG texture A, 3 = custom PNG texture B). THe textures can be found in the *mzp file - just open it with winrar or 7zip and replace one of the 2 PNG images in it.

dsa 

trick's picture

Marvellous ;)

Marvellous ;)

cecofuli's picture

Good script! I think that

Good script! I think that now you need to make some little videotutorial, for demostate how useful is your work Wink. Just a suggestion.

renderhjs's picture

More then I could ever wish

  • More then I could ever wish for ;) Looking forward to this. I'm currently learning MS myself so I can customize things myself. So many possibilities !!

 I am about to simplify the function names that are used e.g:
fn_05__distribute_verts_on_line
fn_04__align_uv_verts
fn_03__bake_ao_2_clipboard
fn_02__bake_uv_2_clipboard
...
so they are easier for others to spot and use for their projects. Though atm. I am not really through with this- I need to think about macro script functionality as well so things might change within the next releases.

update 0.9 



to this date known main issues/bugs:

  • ch# (uv channel) gets ignored,- everything is operated on channel 1
  • no map-able macro keys
  • no multiwrap support yet (sets selection[1] as UV-edit)

changes:

  • realtime easing simulatation with right click on 'align edge' or 'distribute vertices', left click or again right click to stop simulation. A regular left click will result in a absolute result
  • distribute verts on flow key
  • smart rotate selection to minimum vertical bounding box space
  • nudege up,down,left,right with parametric input
  • spin 180° of current selection
  • interface smal changes - a little bit more minimalistic
  • checker map swap. If a previous material (before the click on that button) was found it will be stored as previous map and reused on a second click. Materials are not stored per object- so if you leave it as a checkermap and hit the button on another object changes might be that the previous material track is lost of the previous one.
trick's picture

More then I could ever wish

More then I could ever wish for ;) Looking forward to this. I'm currently learning MS myself so I can customize things myself. So many possibilities !!

renderhjs's picture

yes I had actually already

yes I had actually already worked on something like that,- but its not yet final which is why I have not yet posted it here, here are some animations showing it in action:

the first one aligns it to a straight line just like the align one but with equal spaces:

this second one preserves the angles of the edges which is like preserving the initial curve flow of a line flow:

 

I am also working on the following (alot of testing involved atm.):

  • - align uv shells based on 3d orientation (so a XY wall gets rotated XY in the UV). This should prevent faces to be 180° flipped like the flatten operation to often does and one often notices it in the end when painting on them.
  • -  rotate shell to the most compact bounding box size - this means in other terms rotate long elements always horizontal (or vertical) and not like 45° or other non optimal rotations
  • transfer texture from channel A to channel B using RTT and no projection cage stuff which often ends up with bad results
  • align uv shells to each other based on 1 edge at the border of 1 shell. This is similar to what modo and uvLayout have. Its very powerfull when you need to stitch 2 shells together based on a edge of the 2 shells
  • uv-checker switch to switch back and forth using your previous material and a checker map. Someone else asked for a custom UV-map (with colors and fine grid as bitmap file) - might add that.

and lots of other idaes- maybe even some selection presets (select elements, select by angle+ignore backfacing, ...)

trick's picture

Great stuff !!! Would it be

Great stuff !!!

Would it be a possible option when aligning vertices either horizontally or vertically also to make them equidistant ?

renderhjs's picture

update

update 8.7

changes:

  • statistics message box: displays various UV-related statstics and some ratings about how good or bad that particular value is (can be). If you dont have a uvw-unwrap modifier on your poly (requirement) it adds one temporarily and removes it afterwards. It messes abit with the selections I will fix that at some point.
    The used UV-space is based on zOffTy idea by rendering the filled faces into a temporary bitmap and counting the white pixels and compare it with the black ones. So speed things up I only calculate this within a size of 32*32 pixels which means 1024 pixels to check (maxscript loops can be slow). This percentage value is rather a basic indicator for your uv-space usage not a super accurate science, so in other words the quality scale is between 0 and 1024.
    Tiles shells are shells that overlap the borders of your base square. Overlapping faces are the faces that overlap other faces.
  • fixed --Unknown property: "unwrap6" in Unwrap_UVW:Unwrapu UVW for max9 users when hitting the align UV shell to edge


a screenshot of the added statistics box:

 

renderhjs's picture

update

update 8.5:

changes:

  • changed the order of buttons, grouped items by using seperators (bitmap slice from the logo). pad means pixel padding that is used in some functions like: 'crop' and 'pack UV'
  • added propper undo support,
  • if you now hit align or any other UV modifying keys it will let you undo the operation with 1 3dsmax undo call- no need to hit it multiple times now.
  • reuses existing uv-unwrap modifer if its already on top, adds one if there is noone present
    - [UV editor]- button closes the uv-editor panel (using a hack) if its already open, opens it again on the same position if you hit the button again- in other words it works as a switch.
  • flat shaded button switches between #flat and #smooth with showing edges. It does not yet read out the previous setting but its a next step
  • added crop button: what this does is that it crops all UV verts to the minimum UV space it needs and incorporates the pixel padding around it. It does not pack,rotate or move individual shells so your layout is not destroyed instead it scales the whole proportional so that it fits into the texture space plus the pixel padding on the borders.

interface screenshot:

renderhjs's picture

the following parts have

the following parts have been updated:


changes/updates:

(1.) ask's the user in case mental Ray is not assigned as the renderer if the script should assign it and continue the script. 

If mentalRay is already the scene renderer everything should work right away and nothing gets changed at all.

(2.) high and low presets (not yet tuned values,- some recomendations? - sets spread and falloff value for AO)

(3.) Assigns a checker map (greyish with 8*8 tiling) to the selected object with visibility inside set the viewport. This has nothing to do with the material instance editor (the 3dsmax material editor) as each object node in max can (has) have its own material.

(4.) set self illujmination viewmode in the active viewport. Its a bit hidden in the default 3dsmax interface but this button does not at all modify the material - instead it sets the viewport mode to 'flat' which basicly means no shading and 100 difuse view.

(5.) thx to tumberboy I fixed the auto-align button thingy my script can actually DETECT angle snap mode . If it is active it will temporarily disable it- align rotate again and enable back your angle snap toggle.

(6.) included the normalize UV-shells script from MoP
http://boards.polycount.net/showthread.php?t=52415
which normalizes all uv-shells without hardly changing their position. This often results into equal pixel space density over all shells, thx MoP for the great script.

I still havent tested it on 64bit max versions but I think this version now should work 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.