Function Libraries | |
---|---|
PolyModOp MAXScript struct wrapping the Edit Poly methods using the familiar signatures of the polyop methods. |
|
MAXScript Modifiers | |
InsetFix MAXScript modfier An inset-by-SG type modifier that works similar to zero-tension Chamfer modifier. Made when max Chamfer had problems with pictured topology (fixed since 2020.1). Polycount thread: Inset Chamfer Advanced version of this modifier as seen in the gif is included in the KeyHydra toolset. Up to 100x faster, supports multiple SGs per face, preserves SGs, matIDs and selections, adds options to select edge faces and override mesh SGs. Demo mesh courtesy of Adnan Chaumette. |
|
AdvancedSweep MAXScript modifier A curve-controlled scripted sweep modifier. Both the Interpolation and Profile animation rollout UI items are not to be used yet and mostly work as placeholders for future options. In its current state, it's more of a proof of concept than anything else. |
|
RandomizeElements MAXScript modifier Randomize elements the easy way. Element Data is cached for faster viewport update. |
|
Transform Mesh MAXScript modifier Transformation modifier with numeric input and an option to use an arbitrary scene object as a transform coordsys. |
|
BlendMesh MAXScript modifier Instead of morphing between two nodes, this modifier allows you to morph between a state of the model before adding one or multiple modifiers and after that (provided that they don't change the object's topology). |
|
MAXScript Primitives | |
Gear MAXScript primitive Involute spur gear primitive, complete with tooth undercut and all-quad topology. Unencrypted and fully open for further hacking. |
|
Flange MAXScript primitive Another all-quad primitive, created with TurboSmooth in mind so it has an additional Outline parameter to tighten the edge loops. The flange neck is optional, reducing its thickness to zero effectively gets rid of it. |
|
QuadCylinder MAXScript primitive All-quad cylinder primitive with hemispherical capping option. |
|
HelicalCylinder MAXScript primitive A primitive for spiral ductwork, screw threads, flexible metal tubes, circular ramps etc. No smoothing groups are assigned, for smoother look either use Smooth modifier or add points to the spline profile. It's also possible to pick a path to follow (especially useful for hoses and piping). |
|
TetrahedralSpline MAXScript primitive Tetrahedron-based mesh traced along a picked spline path. Can auto-align to the picked spline. |
|
TetraTree MAXScript primitive Random branching extension of the tetrahedral spline. Optional weighted selection - fully functional in max 2018+, in lower versions you'd have to add an Edit Mesh modifier and activate its Vertex subobject level. |
|
HexGrid MAXScript primitive Hexagon pattern primitive. The size of individual hexagons is driven by a texture map. Map colors can be saved to vertex color channel to create a hexagonal pattern. |
|
Honeycomb Mesh MAXScript primitive Hexagonal mesh primitive. Aside from the hexagon radius and thickness of the lattice, you can also control width/height offsets. |
|
WeaveMesh MAXScript primitive Simple regular grid, wire mesh primitive. |
|
PatchMesh MAXScript primitive Similar to Patch Grids with Point helpers used as handles. You can animate the handles or use wire paramaters. Instead of linking use constraints. |
|
MeshMuscle MAXScript primitive Similar to the CAT Muscle Strand object, only mesh-based and accepts modifiers. |
|
MeshSurface MAXScript primitive Creates surface defined by four splines that form a closed loop. Interactive mesh update possible when modifying the splines. |
|
FibonacciSphere MAXScript primitive Simple fibonacci sphere primitive (poles are not capped). Useful as a vertex-driven distribution object for strawberry seeds etc. |
|
Hexasphere MAXScript primitive Truncated icosahedron-based geosphere – there are always 12 pentagons, all the other faces are hexagons. |
|
DiscoBall MAXScript primitive Mirror ball primitve with control over tile gap/overlap. |
|
Camera Cone MAXScript primitive Camera-bound geometry primitive that fills the camera field of view. Controlled by target distance, far-clipping plane distance or custom distance (animatable). Particularly useful for volume-select-based selections. |
|
MAXScript Spline Primitives | |
Arrow MXS spline primitive Made as a control object for rigging. Also available as an Arrow Helper. |
|
PulleyBelt MXS spline primitive Parametric oblong shape. Made with a pulley belt path in mind, could be just as well used as a base for a bicycle chain distribution path. |
|
Guilloche MXS spline primitive Procedural guilloché pattern. The length of the trace is determined by the offset parameter. |
|
Profile Shape MXS spline primitive Profile spline primitive to be used with classic Bevel Profile or Shell modifier as the edge profile shape, as a sweep profile and for other similar use cases. Can be rotated, flipped and reversed as needed. |
|
NGon by Edge MXS spline primitive NGon shape created by dragging the first edge. Holding shift constraints to ortho, holding ctrl flips the shape. The original idea and implementation comes from Aslan Tamjidi, see the discussion thread for further details. |
|
Rectangle by Edge MXS spline primitive Rectangle shape aligned by the first two points picked in the construction plane. |
|
BezierHelix MXS spline primitive Just like the regular helix only with four bezier handles per turn (or more if you would like - you can control that with the Steps spinner) instead of 40 corner-points of the default Helix shape. |
|
Simple Catenary MXS spline primitive Simple multi-point spline approximating the shape of the catenary curve, ie. the shape formed by a hanging rope. Allows for driving the point positions by scene objects, controlling the slack by absolute sag amount or relative to the length of the line between points, randomization of the slack and other options. |
|
MCG Modfiers, Primitives and Compounds | |
InsetBySG MCG modfier Inset mesh polygon groups by their smoothing groups, which helps to keep flat surfaces flat smoothed when chamfered instead of the usual mess. Due to limitations of the current MCG nodes, it also splits the smoothing group edge borders. |
|
Inset/Extrude/Bevel MCG modifier Extrude, outline and inset polygons, optionally without capping. Doesn't work on Teapot because of its two-point faces (i.e. faces that only have two vertices, yet still have three edges). Includes all the compunds it depends on and two example modifiers (InsetExtrudeModifier and InsetBySelectionVal). |
|
Loops from Surface MCG primitive Simple example of growing loops from open-ended surface. As such, it only looks for the first border and expands from there. Here it is shown on Cylinder with caps removed. Default Advanced Sweep output or renderable spline without caps would also work. |
|
RandomPtsOnMesh MCG compound Random point distribution (non-uniform). Face size is taken into account, bigger faces may have multiple points while smaller faces none at all. |
|
Randomize Elements MCG modifier Randomize mesh elements, with the possibility to specify an upnode (a reference system for all the transformations). That means that XYZ rotation are then parallel with the object's axes, same with translation and scale. |
|
Custom MCG Dialogs Ever wanted a pop-up dialog for your MCG graph? Now you can have it and work with scene objects just by connecting nodes. The sample file randomizes the position of selected objects given custom limits. As this is a MCG utility, you don't get viewport redraw and undo support by default. |
|
Data-Channel-derived Modifiers | |
Grow Vertex Selection Grow selection leveraging the Data Channel modifier. For more information, refer to the original discussion. This is a self-contained modifier and is applied as such, it's not a Data Channel preset. |
|
Other Scripts | |
Border Fill Fills a border with quads. Selects the newly created faces (in case you want to do an inset afterwards) and verts (in case you want to relax them). Polycount thread: Border Fill 3ds Max Ideas topic if you want something like this in max by default: Add a method to cap with quad topology |
|
InstantMeshes bridge A bridge from 3ds max to instant meshes. Without leaving max interface, it exports, remeshes and imports the remeshed object back based on the parameters in the dialog. |
|
Spline Control Simple animation-friendly spline control. The main advantage over SplineIK is the easy and precise control over the tangent handles with scene helpers, and you can manipulate them in local and parent space as well. |
|
Spline Poly Bind Creates an empty vertex-only object that you can deform with polybrushes (or any other editable-poly-friendly tool), and the splines will follow the deformation. You can use all the usual tools for moving its verts, like the Shift Move brush, Shift Rotate Brush, Shift Scale brush, Conform brush or even classic Soft Selection, as long as you don't add nor remove any points. |
|
Slider Crank Setup Automated creation of a simple slider crank setup based on a few helpers. The animation is driven by the Crank Pin helper rotation. Since everything works in the parent space of the Master helper, you can then orient it any way you want. For more details, check the original thread and an example .max file. |
|
HDRi Material Override Toolbar Simple floating 'toolbar' example where you can quickly toggle reflection override for the current viewport (any custom picked hdri map will work) and set its rotation. Since it's just a viewport override, all the materials applied to the objects will be left untouched. Comes in handy for example when checking for shading errors. |
|
Viewport Overlay Grid Shows an overlay grid with a variable number of horizontal/vertical subdivisions over the active viewport. Safe frames are supported as well. To be able to click-through, freeze its object. The grid can be restricted to only show in camera views or extracted as a set of spline lines. |
|
HalftoneLines script Create gradient ramp which goes from thin lines to thick. The gradient can then be mapped for example to a Falloff map (Shadow/Light falloff pictured) |
|
ColorMixer script Simple resizable color mixer with RGB and HSV mixing mode. There's a legacy .NET version and a Qt version for newer max versions (2020+). |
|
AdobePalette loader Simple loader for adobe .ase palettes. |
Personal Projects
Subscribe to:
Posts (Atom)
This Post needs Your Comment!
Just wanted to thanks you for your scripts, gratz ^^
Just realized like half the maxscripts I use (that I grab from scriptspot) are yours. Thank you so much for these tools. Very helpful. Have you ever considered combining your flange and gear primitives into one? Some kind of procedural Gear with holes radially placed would be super good.
the 100% of your tool its very very useful!!
In Arrow maxscript:-I need this arrowhead as a fill object with all edit features including a spinner to control arrow size also when I create arrow from the custom shape it needs to build upon spline not far form spline.
If possible please help me...
I have created a spinner for that and working on this script but didn't understand how to do this so far...
I have also commented on Scriptspot please help me...
Just a note on meshmuscle script. It looks good, nice and fast but it needs a couple improvements.
The end nodes don't link properly - it breaks the function of the muscle. I tried using position constraints but that didn't work quite right either.
The muscle needs to react to end node rotation as well, not just position, for it to be truly functional.
With these two additions it will be awesome.
I was excited when I saw it showcased on Eloi's channel, but sadly I cannot use it in its current state.
Please join 3ds max team, your tools are next level
"Please join 3ds max team, your tools are next level"
I second this! Super helpful scripts!!
Thank you so much!
Leave a Comment