Here you can find the script that I have made for 3ds Max. Most of them very old since I almost totally moved to Maya years ago, but some of them can still be useful for some users.

Most of the following scripts are Macroscripts. To install macroscripts, Drag and Drop or run the script. Then assign into a menu, hotkey or quad menu through customize => customize user interface => Under the Category: Tik Works

  1. ID Changer -> Change material ID’s on mass selections
  2. Geometry Sequence Exporter -> Export animated geometry sequences in multiple formats
  3. Animation Ranger -> Helper to adjust slider range
  4. Mass Modifier Enable/Disable -> Massively enable/disable modifiers
  5. Camera Plane -> Maya style camera background
  6. Mass Randomizer -> Massively randomize lots of thing
  7. Voxel Animater -> Voxelize and animate images
  8. Quick Passes -> Matte,AO,Reflection and Shadow passes
  9. Modifier Instancer -> Instance modifiers over massive objects
  10. Flipper Mechanism -> Old style Airport Board rigging
  11. Mr. Studio -> Studio Lighting tool for Mental Ray
  12. Domino Rigger -> Easy procedural domino rigger
  13. Book Rigger -> Easy procedural flipping book rigger
  14. Cylinder Rigger -> Rig Bottles, Cans, or any cylindrical obj
  15. Visibility Ranger -> Quickly define visible areas of objects
  16. Copy-Align-Link -> Copy-align-link an object over multiple objs

ID Changer


This script is a helper to change the face ID’s of multiple objects. It can switch Material ID’s on mass selections. Drag and drop the script, select the objects, hit the analyze button. It will list all the material ID’s used in the selected objects. If you want for example change all faces with ID 4 to ID 12, enter “from” field 4, “to” field 12 and hit “Change ID”.

Geometry Sequence Exporter


This script exports selected objects animation as a sequence for specified range. I used it for many times for workarounds like exporting Realflow mesh .bin files and animated object transfers between various 3d packages.

Domino Rigger

Buy from Creative Crash



Easy and Procedural Domino Animation Tool for 3ds Max.
Domino Rigger is a simulation-free interactive domino animation solution. The script rigs any amount of dominoes guided by selected splines. Afterwards you can just use the slider on the master controller to make the domino animation instantly.

No simulation waiting times.
No unexpected results.

Domino Rigger works on 32bit&64bit versions of 3ds Max 2009 – 2017

Attention!: Domino Rigger is not supported by non-English versions(Japanese, French, German versions) of 3ds Max. If you are using a non-English version of 3ds Max, please consider that.

Main Features:

  • Simple Curve based domino creation. You can use both spline and nurbs curves.
  • Ability to adjust domino shape. Dominoes can be box or chamferbox shaped. Width, height, length, fillet and fillet segments are controllable.
  • Dominoes can be unique meshes or instances.
  • Can place the dominoes over any custom ground.
  • Hierarchy option. According to the splines hieararchy, domino branches affect each other.
  • Simple controllers. You can create seperate controllers for each spline, one controller for each root spline (hierarchy option) or single controller for all splines.
  • East animation and randomization controls after the creation at anytime.
  • Tweak Tools. It is possible to tweak the rest rotations of dominoes and slide collision and rest timings easily.
  • Various wire coloring tools. It is possible to colorize dominoes randomly, as gradients or from textured ground objects. (standard materials only)

Sample Workflow:

  • Draw a spline (or multiple splines)
  • If you want one continuous motion along the spline branches, create a hierarchy by linking the splines each other. Leave the root spline unlinked to anything
  • Create a plane object to be the ground (optional) Crank up the segments and add a noise or wave modifier on it to make it non-flat. Move the curves just above the ground plane. (or move down the ground plane)
  • Run the Domino Rigger. Add the splines using “Add” button under Splines group to add them one-by-one. Or use the “List” button to add all of them
    check the “use Ground” checkbox if you want to use ground object. Press the “Pick Ground” button then select the plane objece. If “use Ground” is not checked, dominoes will be created on a flat surface aligned to the curves.
  • Press “Create Rig” button.
  • There will be one or more domino controllers according to the settings and spline count. Select one of them and use “Action” slider in the modifiers panel to instantly animate the dominoes.

Book Rigger

Buy from Creative Crash

Book Rigger is the “one click” Page Turn solution for 3ds Max.
With Book Rigger it is extremely easy to make complex and accurate page and book animations inside 3ds Max.
Book Rigger works on 32bit&64bit versions of 3ds Max 2009-2017.

Attention!: Book Rigger is not supported by non-English versions (Japanese, French, German versions) of 3ds Max. If you are using a non-English version of 3ds Max, please consider that.

Main Features:

  • Create and Rig a whole book with any number of pages just in a single click
  • Interactive controls of page properties and turn-land-shuffle options.
  • Ability to shuffle the pages and adjust overall speed using multiplier
  • Ability to assign single/double sided materials and diffuse textures from animated sequences.

What is new in version 3.0?

  • All Features are now completely interactive and adjustable at any time
  • Added Animatable Crease correction
  • Added Animatable “Bottom Angle” property
  • Added “Minimum Turn Angle” property
  • General Code optimization

Animation Ranger


This script intended to simplify changing time range values inside max. I tried to make it similar to Mayas timeslider. There are four spinners and two sliders. At the far right and far left spinners are maximum and minimum values of range. Other two spinners and two sliders are for zooming in and out to the timeslider.

For example, Assume that you are working on an animation which should be exactly 500 frames. If there are 30 keyframes between 250 and 290 it may be difficult to select or move some of them because they will be small and very close to each other. With this script, instead of changing your range over and over, you simply enter the values to the inner spinners, or move the sliders to zoom into a specific location.

It always fits to the Time Sliders with, so it should work on all resolutions and different sized windows.

Known Bugs:

Sometimes it throws an error if you move the sliders too quick. This is because dotnet trackbars I guess, because there were no such thing with regular max sliders. Though it is not possible to change the width of regular sliders, so I had to stick to the dotnet trackbars.

Mass Modifier Enable/Disable


This Script easily enables and disables modifiers from mass numbe
r of objects.

You can Enable and Disable all

  • Turbosmooth
  • Meshsmooth
  • Flex
  • Tessellate
  • Subdivide

modifiers with one click
Use at your own risk.

Tik Works-TIK_CameraBG_v1.71

This Script creates a free camera from the current view which has a plane attached.
Asks for a bitmap input and creates and assigns a self illuminated material to the plane.
Looks for the image aspect ratio of the current scene and creates the plane according to that.
Plane stays at the far range of the camera (you can simply change the location by changing cameras far range value)

Plane always stays filling the current render area, even if you transform the camera, change the focal length or change the far range value.
Plane is not visible to camera (for render), not casting or receiving shadows and frozen by default, of course you can change these settings after creation.

This script can be used for various ways, such as for rendering refractions over live footage. Or just for the feeling of maya camera background. I just have found myself trying to match a image plane over a viewport background more than once.

Update History
– Version 1.7 (special thanks to Cesar Saez for the idea and effort)
-If a camera is selected, it adds the image plane to that camera instead of creating a new one.
-Added support for target cameras

Use at your own risk.


The ability to Randomize

  • Position
  • Rotation
  • Scale
  • Length-width-heigth- radius parameters
  • UV Offset Values
  • G-Buffer ID’s
  • Material ID’s
  • Selection (object and subobject)

of selected objects.

You can define minimum and maximum values for each parameter. Each randomization is undoable, but you better backup before use.

Use at your own risk.


This script takes an image sequence, creates selected primitive type for each pixel, adjusts its length according to the pixels value, and animates it.

you can define:

  • Voxel Shape (Box, Chamfer Box, Capsule, Spindle)
  • Voxel Size
  • Base Height
  • Maximum Height
  • Voxel Color (solid or random for each pixel)
  • Space between each Voxel


Try to avoid using relatively high resolutions (for a 2.2 GHZ 2 GB ram machine

200 x 200 is a high-resolution.

Trying to use high resolution images may take too much processing time, can cause halt, error and freezes.

Use at your own risk.



Easy rendering of commonly used render passes for
Quick Passes support Default Scanline, Mental Ray and Vray renderers and Materials.

Quick Passes can render:

  • Black-White mattes for selected objects with any supported renderer, with the options of considering current Displacement Maps, Material Opacities, and Object Opacities.
  • Ambient Occlusion of the scene with any supported Renderer, with the options of wireframed AO for selected Objects (For Mr only) and considering current Displacement and Bump maps.
  • Reflections on selected objects with any of supported Renderer with the options of considering current Displacement and Bump maps. If there is no light in the scene (default lights) selecting only one geometry object is enough. If there are lights in the scene you have to add them also to the selection. Selected lights not necessarily have to be turned on. You can also blur the reflections with the given spread and sampling values. And turn on or off current Environment Map.
  • Shadows on selected objects with any of supported Renderer. At least one light and one geometry object must selected.Selected lights not necessarily have to be turned on or their cast shadow
    options checked.

Quick Passes dont change your scene settings or materials. Ok, it actually changes them but, puts everything back afterwards. Special Thanks to Ivan Tepavicharov for letting me use his Idea of getting and recalling materials. All Get and Recall functions of Quick Passes based on Ivan’s idea.

Just run the script, select the pass you want to render, override the renderer if you want,select the necessary objects and/or lights, hit render.
For matte render you must select at least one geometry object
For AO render you dont have to select anything (if you check Wireframed AO, and usin MR renderer, selected objects will be wireframed.
For Reflection rendering you must select at least one geometry object and one light. If there isnt any light in the scene, only selecting one object is enough
For Shadow rendering you must select at least one geometry object and one light. Selected light dont have to be casting shadows or turned on. In any case light will be turned on and its current shadow type will be used.
It will render the scene using current common properties of the scene.


Modifier Instancer


This Script instances one objects selected modifier(s) tomultiple objects.

  • Select the source object.
  • Select the modifiers you want to be instanced.
  • Select target objects.
  • Hit instancer.


This Script creates a rigged flipper mechanism with all textures and materials. With thisscript you can easily do old style airport flipping boards, flipping clock, signs, etc.


– Click “Assign Base Material”. Prepare first material ofmaterial
editor as you wish, or drag drop existing maps into first slot.
Click the same button when done.

– Do the same thing to assign a material for characters on the plate
by clicking “Assign Character Material”

– Either select a presetted set of characters or create your own by
entering manually.

You can also enter new characters to the presets or delete some by
double clicking them

– Select a font. Arial is the default one.

– Adjust “Plate Length”, “Plate Width”, “Plate Height”, “Plate Gap” and
“Texture Size” values if you need.

You can change texture size after the creation from the modifier panel
of “Master Controller” as well. All objects are instanced, meaning
changing each objects modifier values will change other objects as well.

– Hit “Create Flipper”
– Script will ask you to specify a folder to hold the texture maps select one.

Texture images created by this script will be overwritten, if you
specify the same location twice

– You can flip the plates from “Master Control” by animating flip value


Mr. Studio


Mr.Studio is a tool to simulate studio lighting with Mental Ray. It has some features to simplify the control of lights
and provide previews.


  • When you press Create StudioButton, Mr.Studio creates the bended ground plane and four lights. If there is some object or objects selected, Studio will be built around the center of selection. Ground will be placed to the bottom of selection. Mr.Studio will inform you that it will change unit and render settings. Save your important work before proceed.
  • Delete Studio button will delete the lights and ground plane, it doesnt effect the presets.
  • Left, Right and Back Lights are Photometric Area Lights. Their area sampling samples are set to 128. If you want you can increase or decrease this value or area sampling totally. Ambient Light is an omni light, which has a ambient occlusion shader as a projector map. It practically creates an overall ambient light with ambient occlusion. Ambient Occlusion options are accessible through its shader, which could be found in the second material slot.
  • It is possible to change each lights value and color interactively from ui. Slider and spinner values are synchronized for easier usage, but it is possible to go over slider limits using spinner values.
  • Preview button provides an easy overlook for direction and intensity of lights, softness of shadows, color of lights etc. It reduces sampling values for both area lights and ambient light for reduce the preview rendering time.
  • There are three seperate Store buttons. While a store button is checked, all light and color values will be stored in corresponding store button. These values will be stored in there with the project file. So closing and opening the script, even closing and opening Max wont cause any loss.


Cylinder Rigger is intended to be used in animations of cylindirical objects on hard surfaces.


  • Any cylindirical object (Bottles, Cans, Batteries, Coins etc.) can be rigged with this script. Actually any object can be rigged whether it is cylindirical or not, but x and y positions may not be as precise as in Cylinders.
  • Although it can be used on the main object, it is strongly advised to use a simple primitive object and parent the real one to it. And be sure you ALWAYS SAVE YOUR WORK before using the script. I can not be held responsible for any data/time loss you may encounter while you are using Cylinder Rigger.


  • Select the objects you want to be rigged.
  • Run the .ms file from Maxscript -> Run Script
  • Use the point helper named “Rig Controller” to rotate the object.
  • Rigged Objects will stay always in the correct z position whether it is cylindirical or not
  • But x and y positions may misposition depending on the shape. If it is a slightly Chamfered Cylinder it wont be noticeable, but if it is Teapot… welll..
  • Objects will rotate properly until they reach 90 degrees.


This small script is intended to simplify setting keyframes for object visibility.


  • Define Visibility or Invisibility area for single or multiple objects at the same time
  • Define fade in and fade out values to fade in and out objects
  • Clear Visibility Keys of selected objects. If “Make Area Visible”  Radiobutton is selected it leaves the objects visible, if “Make Area Invisible” Radiobutton is selected it leaves the objects invisibl


Copies aligns and links an object over multiple objects.


  • Select the Source object.
  • Select Destination objects.
  • Check “Unrenderable Targets” if you want to make parent objects unrenderable.
  • Give rotation offset values if necessary.
  • Press copy-align-link button.