Home Stickies

[Technical Talk] - Max Plugins

12346

Replies

  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    MoP: That works like a charm, thanks a lot man!
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    the stack shells script in my TexTools collection is designed for something like that - but with just a quad or rectangle it might be difficult to distinguish between top and bottom edge.
  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    renderhjs: I thought you had something like that in your TexTools. I actually had it installed but got paranoid and uninstalled it when max2010 was acting buggy. I think max2010 is just buggy though :(
    Thanks for reminding me!
  • GoSsS
    Options
    Offline / Send Message
    GoSsS polycounter lvl 14
    Hi guys !

    Is there a way to always see open edges (color, thicker edge ...) in the viewport ? I can't find that feature in 3ds max.
  • katzeimsack
    Options
    Offline / Send Message
    katzeimsack polycounter lvl 17
    Hey,
    is there a toggle, that switches a mode on when you press and hold a button and off when you release it?
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    GoSsS wrote: »
    Hi guys !

    Is there a way to always see open edges (color, thicker edge ...) in the viewport ? I can't find that feature in 3ds max.
    not directly for poly objects. But you could press 4 (open edge mode) and then [ctrl] + [a] to select all open edges and they would show up then as red edges by default.
    Alternatively once could write a script that temporarily displays that whenever you press or hold a button and can go back.

    If you use the uvUnwrap by default you see open edges for the UV shells (people often refer to them as seams) and they can be displayed with a thick or thin edge. Now if one would temporarily copy the XYZ face and vert channel to the UV channel via script and add a UVWunwrap modifier once would be able to see what you wanted.
    The con: you cant edit your poly within that modifier, turning "always show result" on would require a recalculation each time with a script: so that the XYZ and face data gets copied each time into the UV channel within that UV modifier on top.

    Hey,
    is there a toggle, that switches a mode on when you press and hold a button and off when you release it?
    like silo's sticky keys? I guess by default or what autodesk provides with max not- but anything you script via maxscript can behave like that. Just use a timer bewteen the onPress event and the onRelease once and do stuff inbetween.
  • Eric Chadwick
    Options
    Offline / Send Message
    GoSsS wrote: »
    Hi guys !

    Is there a way to always see open edges (color, thicker edge ...) in the viewport ? I can't find that feature in 3ds max.

    Check out the STL Check modifier.
  • GoSsS
    Options
    Offline / Send Message
    GoSsS polycounter lvl 14
    I know this modifier but the thing I want is to see these edges all the time in editable poly.
    This option is possible in maya or xsi (maybe many others) but I don't think this is possible in 3ds max :s
  • Eric Chadwick
    Options
    Offline / Send Message
    1. Add the STL Check on top.
    2. Set it to Open Edge, Select Edges, and Check.
    3. Go down into the Editable Poly, into Edge mode.
    4. In the Subdivision Surface rollout, disable Show Cage.
    5. Then toggle Show End Result and start modeling.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    maybe check also the new xView Mesh Analyzer in max 2010, which is basicly a view mode so its always constant on all objects.
    http://area.autodesk.com/blogs/ken/3ds_max_design_2010_xview
    xView Mesh Analyzer
    Validate your 3D models prior to export or rendering with the xView mesh analyzer technology. This new functionality gives you an interactive view of potential design issues so you can make informed decisions and avoid costly mistakes. The analyzer significantly improves the speed of testing models and maps. Test or query for flipped or overlapping faces and unwelded vertices. You can also add your own specific tests and queries.
  • GoSsS
    Options
    Offline / Send Message
    GoSsS polycounter lvl 14
    1. Add the STL Check on top.
    2. Set it to Open Edge, Select Edges, and Check.
    3. Go down into the Editable Poly, into Edge mode.
    4. In the Subdivision Surface rollout, disable Show Cage.
    5. Then toggle Show End Result and start modeling.

    Oh yeah ! This is a good little trick ;)
    Thanks for this !
  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    Anyone know a plug or a way to have max select the bottom of the modifier stack instead of the top when selecting an object? Pin Stack could be ok but it doesn't alow you to select other objects (and I can't friggin find it in the shortcuts).
  • SyncViewS
    Options
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Hi Bal, here is the script to activate the BaseObject in the Modifier Stack any time the selection (or ModPanel) changes. Execute once and find the script in Customize User Interface floater under Category: ModPanel Tools. Run once to enable the feature, run again to disable it.
    macroScript ActivateBaseObject
    category:"ModPanel Tools"
    buttonText:"ActivateBaseObject"
    tooltip:"ActivateBaseObject"
    (
        if (bActivateBaseObject == undefined) do
            global bActivateBaseObject = false
    
        if (rol_ActivateBaseObject == undefined) do
            global rol_ActivateBaseObject
    
        rollout rol_ActivateBaseObject ""
        (
            function activateBaseObject =
            (
                if (selection.count == 1) do
                    if (getCommandPanelTaskMode() == #modify) do
                        if ( (modPanel.getCurrentObject() != undefined) and (modPanel.getCurrentObject() != selection[1].baseObject) ) do
                            modPanel.setCurrentObject selection[1].baseObject
            )
        )
    
        on execute do
        (
            if (bActivateBaseObject == false) then
            (
                callbacks.addScript #modPanelObjPostChange "rol_ActivateBaseObject.activateBaseObject()" id:#cb_ActivateBaseObject
                bActivateBaseObject = true
            )
            else
            (
                callbacks.removeScripts id:#cb_ActivateBaseObject
                bActivateBaseObject = false
            )
        )
    )
    
  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    Syncviews, that is awesome, exactly what I was looking for, thanks!
  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    Hey, is there a way to assign "quick planar map" to a shortcut in 3ds max 2010?

    I looked around and I don't see it as an option to assign a shortcut to.
  • Szark
    Options
    Offline / Send Message
    Szark polycounter lvl 12
    Change the group from 'Main UI' to 'Unwrap UVW' and you should find it.
  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    Yeah, that was the first thing I tried I get only:

    CloseUnwrapUI
    MoveUnwrapUI
    OpenUnwrapUI
    Pack UVs
    Relax
    SelectionToBase
    Sketch Vertices
    Stitch Selected

    That's it! Should be many more I know but that's all the options in 3ds max 2010.
  • mat
    Options
    Offline / Send Message
    mat
    Syncviews thank you very much for that stack selection script, have been bothered by that aswell like Bal was
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    here is a macroscript that does that + a relax with 1000 iterations (+restore previous setting back)
    macroScript quick_planar_map category:"BradMyers82"	toolTip:"quick planar map and relax"
    (
    	local objs = modPanel.getCurrentObject();
    	if classof (objs) == Unwrap_UVW then(
    		local numFacesSelected = ( objs.unwrap.getSelectedPolygons() ).numberSet;
    		if (numFacesSelected > 0)then(
    			local var_a = objs.unwrap3.getRelaxIteration();
    			
    			objs.unwrap5.quickPlanarMap();--quick flatten
    			objs.unwrap3.setRelaxIteration 1000;
    			objs.unwrap3.relax2();
    			
    			---restore previous settings
    			objs.unwrap3.setRelaxIteration var_a;
    		)
    	)
    )
    
    evalulate that code in the maxscript listener or in a new script
    F11 > (ctrl + n) > paste code > (ctrl + e)
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    renderhjs, why not just call something like:
    objs.unwrap.relaxByFaceAngle 1000 0.0 1.0 false
    

    instead of storing the value and resetting it?
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    because its written messy? :)
    thanks for the hint,
    improved code:
    macroScript quick_planar_map category:"BradMyers82"	toolTip:"quick planar map and relax"
    (
    	local uv = modPanel.getCurrentObject();
    	if classof (uv) == Unwrap_UVW then(
    		local numFacesSelected = ( uv.unwrap.getSelectedPolygons() ).numberSet;
    		if (numFacesSelected > 0)then(
    			uv.unwrap5.quickPlanarMap();--quick flatten
    			uv.unwrap.relaxByFaceAngle 1000 0.0 1.0 false;--relax
    		)
    	)
    )
    
  • Szark
    Options
    Offline / Send Message
    Szark polycounter lvl 12
    Brad, are you sure you have it like this image (No offense)? :poly124: It appears for me, maybe you need a reinstall or something? Another one of them Max quirks I guess... :poly105:

    shortcut.jpg

    You could also write out a keyboard chart and see if it's listed in there.
  • BradMyers82
    Options
    Offline / Send Message
    BradMyers82 interpolator
    Szark: Heh, no it doesn't give me the majority of those shortcuts. I can't even imagine why, but I'll be okay thanks to renderhjs.

    Renderhjs: Thanks dude, your a great help!! :)


    [Edit] doh, I just realized that I was selecting "Category": Unwrap UVW and not "Group": Unwrap UVW.
    Oh, well dumb on my part, but the added relax feature you made Renderhjs will definitely save me some trouble.

    Thanks again guys.
  • michi.be
    Options
    Offline / Send Message
    michi.be polycounter lvl 17
    I'm looking for a script which displays the measure of the bounding box from my object in the viewport after selecting it.

    like in the old radiant editors. you create a brush and got the size displayed right beside it.
    Is it possible or maybe theres a option in max i missed.
  • Eric Chadwick
    Options
    Offline / Send Message
    Not as sexy as viewport text maybe, but you can display a floater window that shows you the dimensions of any selected object. Utilities > Measure > New Floater.
  • michi.be
    Options
    Offline / Send Message
    michi.be polycounter lvl 17
    Thanks Eric. This is what I'm looking for. :)
  • ArYeS
    Options
    Offline / Send Message
    ArYeS polycounter lvl 8
    renderhjs wrote: »
    because its written messy? :)
    thanks for the hint,
    improved code:
    macroScript quick_planar_map category:"BradMyers82"	toolTip:"quick planar map and relax"
    (
    	local uv = modPanel.getCurrentObject();
    	if classof (uv) == Unwrap_UVW then(
    		local numFacesSelected = ( uv.unwrap.getSelectedPolygons() ).numberSet;
    		if (numFacesSelected > 0)then(
    			uv.unwrap5.quickPlanarMap();--quick flatten
    			uv.unwrap.relaxByFaceAngle 1000 0.0 1.0 false;--relax
    		)
    	)
    )
    

    Hey, i'm trying to run this script in Max2009, it doesn't seem to work for me when i try to run it. (I have selected faces in UVW Unwrap modifier before runing script).

    Any ideas?
  • Mark Dygert
    Options
    Offline / Send Message
    You've probably moved on already, but what version of 3dsmax are you using? It could be that one of the commands he's using is newer than the version of max you're using?

    Also I think the quick planar button was added to 9 or 2008, I know for sure its a part of UnwrapUVW in 2009.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    unwrap5 interface methods added in 3ds Max 8
    so it should run in max8 and newer.





    ArYes: try if just this snippet works for you:
    $.modifiers[#unwrap_uvw].unwrap5.quickPlanarMap();
    $.modifiers[#unwrap_uvw].unwrap.relaxByFaceAngle 1000 0.0 1.0 false;
    
    to use it first add your unwrap modifier, and select some faces like before

    then open the maxscript listener [F11] - key and from that window select
    file > new script
    in that new script windows paste this script
    now hit
    file > evaluate all
    or if you have a newer version (not sure here)
    tools > evaluate all
    you can execute the code by hitting [ctrl]+[e] in that window as well


    if that works for you we can maybe change the code slightly
  • oXYnary
    Options
    Offline / Send Message
    oXYnary polycounter lvl 18
    Mesh deform Mesh.

    After seeing the winners video from the competition and how he easily choose another object on screen to act as a deform, where Maya auto changed it into a patch object.

    Well anyhow.. I don't see a direct translation.

    I attempted to change the object thats being used to deform to to a patch, and even in quads, it still giving me illegal patch when I attempt the patch deform modifier on the object.

    I tried conform, but realized that basically flattens the object onto the object being conformed to.

    Spent almost 3 hours so far on this... >:P

    Some plugin or script I need to allow mesh deformations? Or at least reason its whining about illegal patches? From what Im reading on space warps, these create a new object versus translate an existing object into a space warp. So the mesh I have now that I want to be conformed to would be ignored.
  • Mark Dygert
    Options
    Offline / Send Message
    I'll call it the Skinwrap Modifier. I'll even auto install it for you using nothing but the powers of my MIND! It's so useful I even install it for the rest of the 3dsmax users world wide, legal and otherwise. BAM! done.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Hey all!
    I am looking for a simple script in max that would work just like Separate in Maya.
    Lets say I have a mesh (edit poly) made of many different components. These components dont have verts in common, they are simply parts of an object. "Chunks" really.

    I can easily detach such chunks using the detach tool, but it will only let me detach things one by one. I am looking for a script that would detach all the chunks into as many new objects.

    Thank you if you can help!
  • vik
    Options
    Offline / Send Message
    vik polycounter lvl 13
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    I wrote one myself too but can't find it right now,
    here is one on scriptspot.com:
    http://scriptspot.com/3ds-max/detachelements

    edit: damn vik was faster
  • Segreto
    Options
    Offline / Send Message
    Segreto polycount sponsor
    ooh nice script.. i was thinking about something like this earlier today while i was doing this by hand..
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    well its not that fast: in maxscript you have to build up an array of the shells yourself because maxscript does not provide something like that. It means that you have to loop at least through all faces and another loop inside it.
    If you have a mesh with a few million faces it might awful slow things down. I wrote a different version myself that could loop through multiple objects with multiple elements but it really was slow in a complex scene.
    I hope autodesk will at some point provide a faster method for generating arrays for shells, same for UV where I need it often.
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Oh thanks guys, works wonders. I eventually went to scriptspot and found it there too. Very handy.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    just in case anyone is interested,- this is a script the other way around:
    It merges your objects selection into a single editPoly object:
    disableSceneRedraw()
    for i in 1 to selection.count do
    	Try(ConvertTo Selection[i] Editable_Poly)Catch()
    
    baseObj = selection[1]
    items = #()
    for s in selection do append items s
    
    for i in items do (
    	if (i != baseObj) then (
    		if (classof i == Editable_mesh) or (classof i == Editable_Poly) then
    			baseObj.EditablePoly.attach i baseObj
    	)
    )
    enableSceneRedraw()
    completeRedraw()
    
    I use it every now and then per session, also useful to quickly convert or merge your object to a simple editPoly object
  • pior
    Options
    Offline / Send Message
    pior grand marshal polycounter
    Render, does this has advantages over the collapse button?
  • SyncViewS
    Options
    Offline / Send Message
    SyncViewS polycounter lvl 13
    Hi Pior, if you like, I coded detaching / attaching here:

    http://boards.polycount.net/showthread.php?t=62902
  • SimonT
    Options
    Offline / Send Message
    SimonT interpolator
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    pior wrote: »
    Render, does this has advantages over the collapse button?
    well you can select multiple Objects (i.e meshes, teapots, poly's, boxes,...) and it merges them all together to 1 single poly object
  • IxenonI
    Options
    Offline / Send Message
    IxenonI interpolator
    is it possible to bind the same key that i´ve bound to ring and loop selection for edit poly to ring and loop selection in the uvw modifier without overwriting each other? (Max2010)
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    have you tried it with the toggle override button ? but_maintlb_kbd_override_max.gif
    it lets you swap modifier or window specific shortcuts with global shortcuts that a re overridden therefore. Try that if it works
  • Mark Dygert
    Options
    Offline / Send Message
    Yep, in the customizeUI menu click the keyboard tab, set the group to Edit Poly and bind "Select Edge Loop" & "Select Edge Ring" To whatever keys you need.

    Then change the group to Unwrap UVW, and bind "Geom. Edge Loop/Ring Select" to the same things.

    Make sure to turn on Keyboard Shortcut Override (in the main toolbar it looks like a keyboard key with either a T or a up arrow on it) like renderhjs pointed out. This will tell max to override the main keyboard shortcuts with the sub menu shortcuts of edit poly and unwrapUVW.
  • IxenonI
    Options
    Offline / Send Message
    IxenonI interpolator
    thanks guys, this works perfectly
  • Mark Dygert
    Options
    Offline / Send Message
    Transmographier
    http://rpmanager.com/plugins/Transmographier.htm

    This allows you mirror and symmetry vert placement on a symmetrical mesh.
    So for example you're making a bunch of morph targets, you do half a smile and mirror it to the other side to get a full smile or flip the whole thing to get a smirk on the other side. Super handy for eyebrow morphs, blinks, mouth shapes.

    The best part is that its a modifier so its not just a straight copy/paste like the mirror mode included with polyboost or graphite tools.
  • Eric Chadwick
    Options
    Offline / Send Message
    I second Transmographier, we bought a license for our last project, saved us a ton of time/errors. Grant Adam is hawt.
  • JasonLavoie
    Options
    Offline / Send Message
    JasonLavoie polycounter lvl 18
    I didn't check the entire thread just yet, but I was wondering if there is a script that when used, takes off turbosmooth on all objects selected. If my memory serves me right, racer's tut had something like this (i don't have it with me though).

    Any help would be awesome!
  • mat
    Options
    Offline / Send Message
    mat
    there you go jason http://www.scriptspot.com/3ds-max/turbomeshsmooth-toogle
    very cool, just found it like 4 days ago myself
12346
Sign In or Register to comment.