SoulburnScripts

Updated: July 2nd 2009

Would you like to be notified the next time I add scripts to this page?
 
Join the SoulburnScripts Mailing List!

Click here to Subscribe to the list. Click here to Unsubscribe. Send the resulting email (no subject or body necessary) and you'll be added.
Software Wishlist


Introduction

This is my personal software wishlist, features I would like to see added to my favorite software. Most wishes come with an explanation page, which goes into depth on how the feature could potentially be implemented.

Go here to read my Software Wishlist!

Soulburnscripts for 3dsmax


Introduction

The SoulburnScripts for 3dsmax is a collection of scripts that I've written for my personal artwork at home. Some of their concepts are based on scripts I wrote during my time at Blur Studio and released publicly as BlurScripts (however the SoulburnScripts have been completely rewritten from scratch, giving them more features and better functionality), others are totally new concepts. Thanks to the blur folk for giving me the inspiration to learn how to code.


Warnings

Feel free to install and use these scripts, however, I can't be held responsible for any problems that arise from their use. I will try and fix bugs or add features that people want, but I have limited free time and so can only promise to do my best. Thanks.


Installation

All the scripts come packaged into a single zip file of interconnected scripts, SoulCollection_v0xx.zip, which includes all the scripts in the rest of the table below. Note, you may need administrator privileges to install these scripts if running on Windows Vista or above. WIndows should give you an error if you're not allowed to install the scripts, so if you don't get an error, then the scripts should be installed properly. Please download the most recent zip file only, and extract them into your 3dsmax root directory, for example, c:\3dsmax. Make sure you have recurse subdirectories on (it's also called "Use Folder Names" in more recent copies of winzip).

The zip will then install a bunch of files and directories...
To uninstall the scripts, just delete all the files mentioned above. To install a new collection, just download the new zip and unzip them again into your 3dsmax directory, saying overwrite current files.


Usage

All of these scripts are run as macroscripts, ie, as buttons, keyboard shortcuts, quad menus, etc, just go to Customize, Customize User Interface, category SoulburnScripts. The SoulburnScripts CANNOT be run by choosing the "MAXScript" menu and "Run Script" and then a script. You can also choose to run the macroscript called "soulburnScriptsLister" to run any SoulburnScript. All scripts can be run in one of three modes...
Make sure to choose the version of the script with a "UI" at the end of it's name when making a button, a quadmenu or keyboard shortcut if you want to run the UI version of the script.

For quick tutorials on how to use these scripts, click the "Help" button on the UI mode of any script.


Bugs

If you encounter any bugs running these scripts, perform the following checklist...
Name Date Description
SoulCollection_v051.zip 07/02/09 The SoulburnScripts Collection 51, compatible with max 9, 2008, 2009, 2010 (both 32-bit and 64-bit)
Updated Scripts: edgeDivider, objectDetacher, bitmapCollector, soulburnScriptsLister
SoulCollection_v050.zip 06/12/09 The SoulburnScripts Collection 50, compatible with max 9, 2008, 2009, 2010 (both 32-bit and 64-bit)
New Script: bitmapPagerManager
Updated Scripts: modifierUtilities
SoulCollection_v049.zip 06/03/09 The SoulburnScripts Collection 49, compatible with max 9, 2008, 2009, 2010 (both 32-bit and 64-bit)
New Script: uVFlattener
Updated Scripts:
uVPlacer, parameterManager, blendedBoxMapMaker, objectReplacer
SoulCollection_R8.zip
An older collection that's compatible with 3dsmax 8. If using 3dsmax 9 or higher, use the collection above instead.
aligner

Aligns one object to another. Similar to the Align tool in max, but optimized to allow a variety of aligns with the least number of mouse clicks necessary.
alignViewportToFace

Aligns the viewport to the selected face.
attachSelectedObjects
Takes your current selection and attaches the objects together. Works on geometry and splines.
bitmapCollector
Collects all the scene bitmaps and places them into a single directory, updating your scene to point to their new home.
bitmapPagerManager

The Bitmap Pager controls have been removed from the preferences of Max2010. This script gives you some of that control back, especially the ability to turn it off, which may speed up renders on 64bit OS's that have lots of RAM.
blendedBoxMapMaker
Creates a Blended Box Map for your selected objects. Basically, it's box mapping, but the edges of the box are blended so you can place the map on a curved surface and not have horrible seams.
calculatorLauncher

Launches the calculator. Great for having quick access to the calculator from inside the max interface, assign it to a hotkey.
cameraFromPerspView
Changes an active perspective viewport into a camera viewport.
circleArrayMaker
Similar to array, but always rotates your objects to make a complete circle.
cornerEdgeToVertexMap

Selects edges of a mesh based on the angle between adjacent faces, and then converts them to a vertex map. For example, you can select all the corner edges of a mesh and then convert them to a vertex map for use with a bump map or a mask to blend between textures.
edgeDivider
Splits an Edge you select in an Editable Poly into equal parts.
edgeSelectByAngle
Selects edges of a mesh based on the angle between adjacent faces. For example, you can select all the edges of a mesh for chamfer by placing a value of 90.
faceNormalDisplayer
Toggles, or turns on or off the face normal display for objects.
findByActiveMaterial

Finds all objects that are assigned the currently active material in the medit and does various things to them such as selecting them, printing their names, isolating them, etc.
findInstances
Finds instances of the selected object and does various things to them such as selecting them, printing their names, isolating them, etc.
findUniqueObjects

Finds objects in your selection that are unique, ie, that don't have any instances of themselves, and then does various things to them such as selecting them, printing their names, isolating them, etc.
getMatFromSelectedObject
Gets the material from the currently selected object and places it in the material editor. If multiple objects are selected, chooses the material from the first selected object.
getNodeType

Prints the Class or SuperClass of selected nodes.
groupWithPoint

Takes selected objects and groups or ungroups them by linking them to a point helper instead of using the max group method. Very similar to the way maya handles grouping.
imagePlaneMaker

Creates a set of 2d image planes you can use to create a 3d model.
instanceTrimmer

Takes a selection and reduces the selection to include only a single instance from each set of instances.
makeObjectsUnique
Takes any selected instanced / referenced geometry and makes it unique.
materialIDRandomizer
Takes all selected objects and applies a material modifier to them with a random ID between the high and low value.
materialInfoDisplayer
Displays various pieces of information regarding material properties of selected objects or the active material (such as the name of the Material on the selected object, the used MatIDs on the selected object, the map channels the active material is currently using, etc).
materialMover

Lets you move materials from one place to another. Some common uses: apply a flat grey material (standard, Raytrace, Brazil, mentalray, etc) to all scene objects in one button press. Clear out your material editor with blank materials. Move all the scene materials into the material editor. Move all scene materials to a matlib. Assign a random material from the material editor to a set of scene objects.
materialRemover
Removes the materials from the selected objects.
mirrorObjectAlongAxis

Mirrors the selected object along the X, Y or Z world axis, with options for copy or instance. Like the mirror tool, but lets you do some common mirror operations with far fewer mouseclicks.
modifierUtilities

Lets you perform various modifier related tasks on a set of selected objects. For example, takes all the selected objects and adds / removes seperate instances of a specific modifier. Or lets you find any objects in the current selection that contains a specific modifier. Add modifiers to your Favorites area for faster access.
modifySubdivIters
Lets you increase or decrease the number of subdiv iterations for selected objects.
nameManager

Lets you rename various things in your scene using a variety of functions.
objectDetacher

Takes selected objects (meshs, polys or splines) and seperates all their elements into seperate objects.
objectDropper

Lets you drop objects onto another object. For example, will drop a bunch of rocks onto an uneven ground surface.
objectPainter
This script lets you paint objects (geometry, splines, lights, helpers, etc) onto a piece of geometry. Like for example, you can make 10 different rocks, and then paint them in a random fashion onto a terrain.
objectReplacer

Replaces a selection of objects with a new object, or randomly from a set of objects.
parameterManager

Allows you to change parameter values for all selected objects as a group. For example, you can change the radius of a bunch of spheres together, even though they're not instances of each other. Or you can change the bend value for all selected objects that have a bend modifier.
parentSelector

Selects any objects that are not parented to anything. This is really useful if you want to select all the top level parents in your scene or selection, maybe to later link them to a master dummy object.
pointTracker

Attaches a point to a selected vertex and bakes out the position information.
polyCountSelector

Selects objects based on their facecount.
powerSolidManager
Lets you modify the render and viewport approximation controls on all selected Powersolids objects.
putPivot

Places the pivot of the selected objects in one of 27 spots such as center, bottom, top, high left side, etc.
selectionHighlighter

This script simulates the Selection Highlighting mode from Silo in max. The idea is if you hover over an object, the object is selected, if you hover over a vertex, it selects the vertex, if you hover over an edge, the edge is selected, etc. No need for extra mouseclicks. Autodesk has half added this feature, this script goes all the way to adding full silo style selection highlighting.
selectionRandomizer

Will randomly select objects based on a value provided.
softSelectionControl
Toggles, or turns on or off the soft selection tool for objects.
soulburnScriptsLister
Lets you run any of the SoulburnScripts from a handy dropdownlist.
splineKnotManager

Takes all selected splines and converts all their knots to a specific knot type such as "Smooth", "Corner", "Bezier" or "Bezier Corner".
splineKnotToObject
Takes all selected splines and places a specified object at their knots.
splineManager

Lets you modify various controls for all selected splines.
splinePainter

This script lets you paint splines on the surface of another piece of geometry.
subdivisionAutomator

Quickly assigns a subdiv modifier (meshsmooth or turbosmooth) to all scene or selected objects. This is good if say you want to have all objects in your scene converted into subdivs at rendertime without the need to constantly select objects, find the right modifier, assign the modifier, etc.
subdivisionManager
Lets you modify various subdivision controls on all selected objects (both polyobjects and meshsmooth modifiers)
surfaceSnapper

This script allows you to move one object along the surface of a second object. Great for placing objects on a terrain.
texmapPreview
Does a render of the currently selected texmap from the material editor on the objects that it's applied to in the scene. Think of it as something similar to the "Show Map In Viewport" function, except it works with all procedurals (Show Map In Viewport does not always produce correct results) and does a full render instead of doing the openGL viewport preview.
thinFaceSelector

Finds and selects faces that are really tall and thin. Good for finding thin faces in a complex mesh, faces that may be best to subdivide to make all your faces more square.
transformRandomizer

Lets you translate, rotate and scale a group of objects or modifier gizmos by a random amount.
transformReset

Resets the position, rotation and / or scale of the selected objects.
transformSelector
Lets you select objects based on their position, rotation or scale.
twoDPlanView

Creates an orthogonal 2D Plan view of your scene, perfect for creating 2d elements using max's tools.
uVFlattener

Lets you flatten a selection of UVs, or in other words aligns all selected UVs horizontally or vertically. The advantage of using this tool over the one provided in the Unwrap UVW editor is you can choose to align the UVs to the average, the min or the max.
uVPlacer

Lets you modify the positions of selected uvs using a handy dialog box.
uVWMappingCopier

Copies a UVWMapping Modifier from one object to the current selected objects. This works in world space (unlike the current method of copying the modifier in the modifier stack) so you can get exactly the same uvwmapping modifier in exactly the same worldspace position on all your objects.
vertexAndEdgeConnector

Performs a number of Connect functionality in one script. For example, in vanilla max, you can't assign the same hotkey to both connect an edge and connect a vertex. You also can't have one hotkey that both connects in an EditablePoly and an EditPoly. This script allows you to have one hotkey to do all of that, and it detects what mode you're in to choose what action to perform.
vertexMapDisplayer
Toggles or turns on or off the vertex map viewport display for all scene or selected objects.
vertPlacer

Allows you to move the vertexes in an object or the knots in a spline to a single value, either the average of the current values, or a specific value. Good for flattening out groups of vertexes.
vertSelectionToObject

Places objects at the positions of the currently selected vertexes.
viewportControl

Lets you control the view you're currently seeing in the viewport in a handy dialog box.
wireBundler
Creates a number of wires that travel through various target objects. Useful for making bundles of wires for robots or other mechanical devices in a few simple clicks.
wireColorRandomizer
Changes the wirecolor of all selected objects to a random value.

Soulburnscripts for Maya

Introduction

The SoulburnScripts for maya is a collection of scripts that I've written for my personal artwork at home, as well as icons for use inside the maya interface, and now I offer them for free to whomever wants to give them a try.


Warnings

Feel free to install and use these scripts, however, I can't be held responsible for any problems that arise from their use. I will try and fix bugs or add features that people want, but I have limited free time and so can only promise to do my best. Thanks.


Installation

All the scripts come packaged into a single zip file of interconnected scripts, SoulCollectionMaya_v0xx.zip, which includes all the mel scripts in the rest of the table below. Please download the most recent zip file only. Open it in winzip or your favorite zip program.
To install a new collection, just download the new zip and unzip them again using the process above.


Usage

These can be run by typing the name of the mel script into your script window (the function name of each script is identical to the name of the script), or drag the text from the script window to your shelf to make an icon. Please reference the maya help for more information on how to run 3rd party mel scripts.

Name Date Description
SoulCollectionMaya_v003.zip 03/21/08 The SoulburnScripts Collection 3 for Maya, compatible with maya 8.5
New Scripts:
NodeLock, NodeUnLock, AlignTranslation
SoulCollectionMaya_v002.zip 09/06/07 The SoulburnScripts Collection 2 for Maya, compatible with maya 8.5
New Scripts: DoubleSidedOff, DoubleSidedOn,
DoubleSidedToggle, StartupCameraDelete
SoulCollectionMaya_v001.zip 01/02/07 The SoulburnScripts Collection 1 for Maya, compatible with maya 7
AlignTranslation

Quickly Aligns the position of one object to another.
DoubleSidedOff

Lets you turn off double sided for a set of objects.
DoubleSidedOn

Lets you turn on double sided for a set of objects.
DoubleSidedToggle

Lets you toggle the double sided attribute on a set of objects.
FaceNormalsDisplayOff
Lets you turn off the normal display for any selected polygonal object
FarClipExtend
Changes the far clipping plane in all panels to a large number.
GetNodeType
Tells you the type of the selected node.
NodeLock

Locks All Selected Nodes.
NodeUnLock

Unlocks All Selected Nodes.
NumObjsSelected

Prints the number of selected Objects.
ResetScene
Resets scene and makes sure playback range returns to default.
ResolutionGateDisplay

Displays the resolution Gate for the currently active panel.
SavePlus

Saves your file while Incrementing the version number.
ShowAllExcept

Shows all scene objects except for the top, left, front and persp cameras.
StartupCameraDelete
Make a Startup Camera deletable, then deletes it. Just select the camera you want to kill.
TransformRandomizerUI
Lets you translate, rotate and scale a group of objects by a random amount.
VerticesDisplayOff
Lets you turn off the vertex display for any selected polygonal object
ViewportControlFront
Changes the active view to the Front Camera.
ViewportControlPersp
Changes the active view to the Persp Camera.
ViewportControlSide

Changes the active view to the Side Camera.
ViewportControlTop

Changes the active view to the Top Camera.
WireframeSmoothShadeToggle
Toggles the current panel between Wireframe and Smooth Shade Mode
ZoomExtentsAll

Zooms All Viewports to the extents of either the scene or the selection. Ignores camera views.


This site is ©2009 by Neil Blevins, All rights are reserved.
Back to NeilBlevins.com