Interactive Tools:
Collection of tools that do different actions when modifier keys are pressed (ctrl, shift, alt).
Plane:
None: Divisions
Alt: -
Ctrl: Size
Shift: Size (lower increment)
Alt+ Ctrl + Click: Align to axis
First Left Click: Place object
Left Click: Accept
Right Click: Cancel
Box:
None: Divisions
Alt: -
Ctrl: Size
Shift: Size (lower increment)
Alt+ Ctrl + Click: Align to axis
First Left Click: Place object
Left Click: Accept
Right Click: Cancel
Cylinder:
None: Segments +1
Alt: Height
Ctrl: Radius
Shift: Segments +2
Alt+ Ctrl + Click: Align to axis
First Left Click: Place Obj
Left Click: Accept
Right Click: Cancel
QuadSphere:
None: Segments
Ctrl: Size
Shift: Slower Size
Alt+ Ctrl + Click: Align to axis
First Left Click: Place Obj
Left Click: Accept
Right Click: Cancel
Chamfer:
None: Amount
Ctrl: Segments
Shift: Amount, slower increase
Alt: Tension
First Left Click: Start Tool
Left Click: Accept
Right Click: Cancel
Bevel:
None: Height
Ctrl: Inset
Ctrl Shift: Inset, slower increase, snaps to 0 if value is < 0.2
Shift: Extrude slower increase, snaps to 0 if value is < 0.2
Alt: Modes
First Left Click: Start Tool
Left Click: Accept
Right Click: Cancel
Interactive Quad Chamfer Modifier:
Note: This requiers the Quad Chamfer Modifier by Marius in order to work, this is just an interface to make working with it easier, dont expect a quad chamfer modifier out of this without Marius tool.
None: Amount
Ctrl: Segments
Shift: Amount, slower increase
Alt: Tension
First Left Click: Start Tool
Left Click: Accept
Right Click: Cancel
You can edit the results if you run the script again as it controls the modifier
Interactive Symmetry Modifier:
How it works: If you select a face it will align the symmetry axis to the face normal. If you have an edge or vert selection it will try to guess the direction and plane of the symmetry based on the distance of the selection to a face you click in the object
None: Change Symmetry Axis
Ctrl: Change Direction of the symmetry
Left Click: Accept
Right Click: Cancel
Interactive Shell Modifier:
None: Change Symmetry Axis
Shift: Slower Increment
Ctrl: Segments
Alt: Mode (Single/Double Sided)
Left Click: Accept
Right Click: Cancel
You can edit the results if you run the script again as it controls the modifier
Interactive Set Cylindrical Sides:
Select a loop, run it and make a click to active the tool. It will try to guess the axis of the lathe for you.
Requires the pivot to be in the center of cylinder to produce good results.
None: Segments
Shift: Segments + 2
Alt: Change Axis
Left Click: Accept
Right Click: Cancel
You can edit the results if you run the script again as it controls the modifier
Smart Pivot:
Make a selection and run it, it will center the pivot to your selection.
Smart Align:
Works based on whats under your cursor when you run it. If you are close to an Axis It will center it to that axis. If there's an object under your cursor you can click it and the Align Dialog will pop up
Smart Rotate (Positive and Negative):
Works based on the direction of the normal under your cursor, rotating the object 45 degrees in the plane the object normal is pointing at. Only works for the X,Y and Z Plane
Fix Fucked Meshes:
Combination of to mesh, to poly and resetXform modifier combined in one macro.
Context Sensitive Bevel:
Calls my interactive chamfer if its in vertex, edge or borer mode. If it is in the face or element mode it will call the face bevel script.
If you select an edge or vert on an editable spline it will start the fillet tool. A click is required afterwards to active it.
Paint Selection Mode:
Switches between paint selection with ignore backfacing on and square selection without ignore backfacing.
Installation: Check the readme file in the download
Download: Here
Replies
Is there a special reason why you use local profile instead of $ for selecting the actual object?
The idea is to move the mouse to the sides along with modifier keys to change values. I will add them to the main thread one I am done with them. Anyways, here's what I have:
Cylinder creation:
Inset:
Chamfer:
Next I want to try to capture keyboard input so it allows you to input numbers in case you need a bit more precision.
@Swordslayer Fixed the gifs! Yeah, they are separate tools. Catching the current mode does sound really interesting. Using the scrollwheel sounds like a good idea as well!
I would highly encourage every Max user to use this vehicle to get what we, the users, want into Max. It's a fact that top voted ideas are being implemented.
Scroll wheel or modifiers keys would both work well.
Up till now I've been using a collection of my crappy macros that applied different chamfer settings.(which I've just gladly deleted) Sometimes I wish my brain was suited to programming.....
Now all I need is a function to tap spacebar to cycle through transforms like UE4 and I will be a very happy modeler. Thanks man.
I am going to make some more tools to handle some of my most used modifiers now(symmetry, turbosmooth, shell, itoo's clone tool).
Will release it once I have a couple more tools in
Just put it in a macroscript and bind to a single shortcut key and be happy.
I have been working on a symmetry tool that tries to predict the axis and position of the desired symmetry. It works using the selected edge, face or vert as the mirror position and the distance to the face you click on to define direction and axis.
You can still modify it with ctrl and mouse scrolls afterwards.
@maxivz Really liking where you're going with the Symmetry mod. It would be great to have a mirror mode in Max as well as Symmetry mod. Although it's a great mod I wish it behaved more like Zbrush Mirror and weld in that it doesn't leave remnants of the original and can't select centre verts - when working in a stack with show end result on - but just deletes half the mesh before mirrorring. Having to delete half the mesh before Symmetry mod is a pain.
Have you seen Zbrushes interactive edgeloop tool? This would work really well with your implementation. A universal swiftloop/connect hybrid tool that could insert multiple edgeloops interactively with spacing/sliding/pinch/snap to edgering centre/etc.
Also, an interactive primitive tool bound to a single hotkey with 2 levels of interactivity: first level switches between box/plane/cylinder/etc ; second level works as your primitive tools above.
Great work.
@musashidan I am not quite getting it. I personally find myself using symmetry all the time in max and I almost never delete half the part I never use. Could you elaborate a bit more?
Note: I currently use three hotkeys for my Symm mod, whereas each one will apply the mod in a different axis. It's not so bad because they're inside my "axis-specific functions" XYZ hotkeys which are in my logitech mouse, but a tool like this could potentially do what those three keys do (and more).
Some people have gotten around this by modifying how their SO hotkeys work. Don't quote me on this, but I believe Perna uses a script that'll first go to the bottom of the stack to the EditablePoly, THEN switch to a SO level, so as to save those extra clicks. The problem with this is that you're limiting your SO keys to just go there, instead of whatever modifier you have on top of your stack that you may want to select a SO normally. For example, sometimes I want to access the FFD box or Symmetry plane SOs, but for these I'd have to go into the stack and manually click twice.
Anyway, that third paragraph got off-topic. I guess it all comes down to saving a few clicks and stress-relieving your fingers, which some people get more into than others.
I'm really liking your idea of applying the Symm mod on a Face normal; the more uses I can give a single tool the better!
Thanks for the detailed explanation @Justo, I have some custom SO hotkeys as well that take you to the lowest level on the stack, I have been working in adding the ability to switch between the stack if you are in the same selection mode and hit the key several times.
thx
I also included a small paint selection toggle along with small changes to the bevel tool
Because there was no centreline edge loop the verts don't really exist even though a centreline has been added by symm mod, and can't be selected. Also, notice the cage behaviour. Now when you disable symm mod the original box is obviously still there. What I meant is that it would be great if the symm mod sliced that centreline and deleted the other half, creating those verts.
By the way, I just noticed the primitive creation scripts create the primitive with a pitch-black material, unlike your GIFs. Am I missing something? (using Max 2015 too)
Lastly, just to confirm, the Context Sensitive Bevel or any of the chamfer tools are not compatible with Edit Poly, right? When I use it, error pops up saying something about not being able to initialize Preview.
@musashidan Thanks for the new explanation. I will see what I can do, deleting half of the mesh can be destructive, what I could do however is add slice modifier underneath the symmetry, so it makes a loop in there and you have that extra edge in there and it wont be destructive.
https://www.youtube.com/watch?v=uFzncNeBlIs&t=435s
Also, anyone know why my GIF is displaying at double res? It's direct linked from Imgur.
I dont have any plans to add vertical support to it for now, but I will defently look into making the tools work in edit poly mode a well
Having said that, there is one small problem when using this in less-than-ideal scales. With cubes of 10 cm size, the steps when increasing the size will go crazy big since I assume they're locked to a certain number and can't adjust to the scale of the object. The workaround is to create big cubes, like 2500 cm, scale them down to the 10cm range and work on that without resetting XForm. In both cases the yellow HUD disappears too. This can be annoying when working in the scale of imported ZBrush models for example.
But hey, I'm just being nitpicky. So far this is amazing, and I love the idea of getting rid of caddies and panels It also seems to work fine in 2017.
If you have any ideas of what might be useful please let me know.
But if I select an existing Box, Cylinder... and run the script shouldn't it change the settings of the selected object instead of creating a new one? Also, autogrid for creating and placing new objects on surfaces does not seem to work with these scripts.
Cheers!
Your scripits works only in newer versions of max?
I mean for 3ds max 2013 when Im trying to use "ContextSensitiveBevel" on edge I've got this:
Could you do something to improve compatibility?
And of course InteractiveQuadChamferMod doesn't work at all, because there are no Quad Chamfer in max 2013.
Also I tried your creation methods and I dont like them, from my perspective they are worse than standard. I can't see any advantages why anyone should use them.
Here are the reasons:
1) InteractiveBox:
• creates only cubes, which is in most cases not what you need, in most caces you need some specific dimentions for a box. I usually use snapping to create a box which has a specific sizes, when I need it to fit in some hole for example. In standard method for comparison I can hold Ctrl if I want a square base, but It will not allow me to create a cube, which is a shame as well;
• adding Divisions for a box is pretty much useless feature. I can't even remember a last time when I used it. Usually I want to get rid of it, rather than actually use it;
• does not support autogrid creation method;
2) InteractivePlane:
• same problem here. Creates only squares. In standard method I can just hold Ctrl if I want a square plane;
• adding Divisions again is an opposite - an unwanted feature. I don't know who decided to set 4x4 divisions by defauit in 3ds max, but I hope this person wll burn in hell for this. Usually I just drop this divisions settings to one (and yeah I do it every single time thats why I want this person to suffer) adding divisions to a plane for me is really rare;
• doesn't support autogrid creation method;
3) InteractiveCylinder:
• creation starts from a selection of amount of sides. Not from radius like it suppose to. I think it should be an opposite: left click begin creation process from a selection of radius and ctrl can be used to ajust the amount of sides.
• when you adjusting the height it seems like it using an object's center as a pivot, which is not a good choice, because usually, when you create cylinder you want it to stand on something and then decide how high it should be. Also I was expecting "shift" key for adjusting the height, it seems more logical to me, but it can be just me.
• doesn't support autogrid creation method;
4) InteractiveQuadSphere:
• again creation starts from a selection of amount of sides. Not from radius like it suppose to. I think it should be an opposite: left click begin creation process from a selection of radius and ctrl can be used to ajust the amount of sides.
• this could be a really cool thing which I might even use sometimes if only not a small nuance that spoils everything. Here is the thing: when you use spherify modifier on divided box you're getting a not even topology. Personally I prefer subdivide a box (using turbosmooth for example) and then add spherify modifier. The problem with this method is that you can't actually select the amount of segments, their number will always be a multiple of 4.
Here is a difference in toplogy (left using turbosmooth and then spherify, right was created using your method):
So the overall problem for your creation process is that it suppose to going on in some vacuum, like creating objects for sake of creating objects. While in real modleing process usually every object u're creating has its purpose. Standard methods allow objects serve this purpose quicker, while your methods imply tonn of manual work before object will be in its place with the right size and will begin to perform the function that you planned for it. For example when you create a cylinder in many cases you want to stand it on some surface, which is why you want to use autogrid, boxes very often can be used as an operands for a boolean or etc, which is why you dont want them to have the same dimentions, etc blah blah blah. Which is why standard methods have a lot of advantages over yours.
Some thoughts about other instruments:
InteractiveSetCylindricalObjectSides is really cool thingy. I was doing it manually before, but having an automated tool is really nice. The only negative thing here is that selecting the axis is really clunky. Also old object stays and obstructs everything, you clould hide it while the tool is ative, unhide if user canceled the operation and delete if user accepted the operation. Also I prefer when you hold "shift" it will not just add 2 to the current value, but makes the number even like 2,4,8 etc.
InteractiveShellMod is cool. I might even use it.
InteractiveVertChamfer - have nothing to say here. never used chamfer on vertexes.
PaintSelectionMode seems like not checking if I have any object (a assume Editable/Edit Poly/Mesh) selected, because if you click on this funtion without any object selected you've got this:
Or maybe it's because of max 2013, I dunno. Can't check for sure, because your scripts are encrypted (never understood why people use encryption for such a small and free scripts).
InteractiveSymmetryMod - all I can say that its usable.
Smart Align - not very usefull. If I want object in world zero I use this small script:
If i need align tool I can just call it using default Alt+A. So yeah. There are no point in using Smart Align.
SmartFixedRotationPositive and SmartFixedRotationNegative seems like don't work in max 2013, I've got this when I press on it:
SmartPivot - can be used in some cases.
Thanks.