Tuesday, September 29, 2009

Building a Pyramid of Stones

Modeling tutorial for beginners which introduce Scatter (compound object).
As the author (Jonas) said, 1 GB of ram (or more) required.

Monday, September 28, 2009

Stretchy, Bendy Arm Rig

User in Autodesk Area forum search for Stretchy & Bendy Arm Rig tutorial similar to this one (Maya tutorial) or this one (Softimage). Well, I`m too not found similar tutorial for the 3ds Max. This is strangely, right? This is can be done using Physique by Spline-based floating bones. In Max help (F1) search for "Spline-Based Physique Deformation" .

Thursday, September 24, 2009

Making Random Wires using Pflow

This video tutorial by Ahmed Sheeraz explain how to create
a random wires using Pflow inside 3ds max.


Creativecrash is another resource community
which offers tutorials as well, but registration required.

Share your 3dsmax Secrets

Share your 3dsmax Secrets is a large tips n tricks thread in CG Society.

Monday, September 21, 2009

HollowCube plugin

HollowCube is a simpleObject scripted plug-in.
Procedural primitive that I made today for fun.
Read more and downloads from

Saturday, September 19, 2009

Clock device

This is a simple clock device setup with less modeling and focused on animation. I packed in archive:

PDF file;
MAX final scene;
animated video preview;

Download here (203kb ZIP)

Friday, September 18, 2009

Reactor quick start

Autodesk released 3 quick start guides with the same description in their Services & Support Knowledge Base section. Well, first 2 is about Reactor, but the third is not.

Learn to quickly create a basic Reactor Rigid Body phsyical simulation in 3ds max. In this quick start guide you will see how to setup a scene that consists of 2 boxes and a sphere which collide with each other as solid rigid objects.

Reactor Soft Bodies
Video (MP4 19.4 MB):

Reactor Rigid Bodies
Video (MP4 16.7 MB):

Crop Border Solution
Video (MP4 10.3 MB):

Procedural Array

This is a ScriptSpot form topic which I recommend not only to coders of course. Here the folks discuss how to control array of objects. Well, the topic was open by user who wants to do this by modifier. But why exactly this way is not clear. Briefly, wiring params is enough for this kind of tasks. Also cotroller instances do great job on this point.

Just read the topic and comment if you have something useful to share about.

Wednesday, September 16, 2009

Applying Color to Lights

Always nice to meet fellow countryman. Dimitar Nenov (new coder on is my fellow citizen too. He is form Sofia, Bulgaria. Ok, It might not be interesting for you.

Dimitar works on script converter "Kelvin T to Light Color" and he accepts comments and advice, so I wrote a code snippet to help him. Maybe other max-coders will be interested about the code:
on applybutton pressed do
for obj in lights where obj.isSelected do
if isProperty obj #rgb do
obj.rgb = rgbcolor.color

...but it is better if you read the comments on site and to interpret the content of the script. Well, "applybutton" is the name of the button, and the snippet is inside its handler. Also "rgbcolor" here is the ColorPicker's name. If I clear the code as independent function, it will look like this:
fn applyLightsColor clr = (
for obj in lights where obj.isSelected do
if isProperty obj #rgb do obj.rgb = clr

Maybe this enouth, but if you like mapped functions, there you go:
mapped function applyLightsColor obj clr = (
if (superClassOf obj == lights) and \
if (obj.isSelected) and \
if (isProperty obj #rgb) do obj.rgb = clr

Tuesday, September 15, 2009

Saturday, September 12, 2009

Flex Modifier

Paul Neale’s quick examples of what can be done with flex.

Friday, September 11, 2009

Using Splines to Add Detail

Using Splines to Add Detail to Your High-Poly Model in 3ds Max by Ben Bolton


Splines are an often-overlooked aspect of 3ds max when it comes to game art. Most people know that you can use a spline for a wire - but you can also use it for things like grooves, whole objects like handles, and even text! In this tutorial, we'll take a look at some of these advanced ways that splines can be used to save a lot of time on tasks that would otherwise have to be done by hand.

"Splines are an often-overlooked aspect of 3ds max". I completely agree with this. People use only a percentage of the magic of Splines. This is a step in the right direction. Finally somebody (game artist!) bothered to show piece of the spline power. Think about Spline like a "super extended custom primitive" and you will enjoy modeling in 3ds Max :)

Convey human emotion

A free PDF tutorial with some quick tips about human emotions by Nick Savy.

Wednesday, September 9, 2009

Bake Transform

Bake animation transform keys to chosen object with specified interval and sample frame step.

Plus reduce keys for chosen object with specified interval, sample frame step and threshold.

I think you know, but keep in mind that there is no universal baking method that is suitable for all possible cases. This is my way that I use most often. Now I added UI to my function and ups it here.


Fixing the scroll wheel in the modifier menu

This usful tips I found on Autodesk Area.

When you open the modifier list and try to use the scroll wheel, the menu doesn't scroll correctly, it flickers.

This is related to a windows display setting. Follow these instructions to fix this issue..

In Windows XP
  • click on "Start" ->
  • "Control Panel" ->
  • "Display" ->
  • "Appearance" Tab ->
  • Click on the "Effects" button
  • Turn OFF "Use the following transition effect for menus and tooltips"

That's it, your mouse wheel should now work while you are browsing through the modifier list.

Slight Modification of the process for Windows 7

  1. Start > Control Panel
  2. Performance Information and Tools
  3. Advanced Tools (on left)
  4. Adjust the appearance and performance of Windows
  5. Uncheck "Smooth-scroll list boxes"
  6. Click OK then close the control panel

Monday, September 7, 2009

Rebuilding Textures After Modifying UVs

Automatically rebuild an existing texture image after you re-adjust (partially or completely) the UV coordinates for a 3D mesh.

Path Constraint

Autodesk free video tutorial.
Learn how you can animate an object along a spline path.

Sunday, September 6, 2009

Create a rock "shader"

Video tutorial which cover how to use procedurals to create a rock texture.
Quote: "We will cover: displacement tuning in mental ray..."

Original title said: "Create a rock shader in 3DS 2010" but...
read my comments first.
  1. So first about involving mental ray here. In this tutorial has no one specific map that explicitly require the use of MR. Here used only standard procedurals maps, and why was all this MR rendering pain?
  2. Judging by the title, this one is tutorial only for Max 2010. It's also applicable in Max 2009 because here was used only one map that is a new feature in Max 2009 - namely "Color Balance". If you replace that part with a different technique, it would be entirely consistent with Max 2008, even Max 9.
  3. Author uses "Composite" layers, and except in one case, he completely fails to explain their blending settings (as "Normal", "Multiply", ...).
  4. Wrong terminology. Here shows how to compose textures, not "shaders".
  5. The last line of author is totally lame and unprofessional advice. As the final result depends on the size of the mesh on which we apply the material, author proposes to reset and redefinite each parameter of each map to lower or heighter value, instead just to aplly UVW !!!
Well, my aim is not to offend people. What I first thought is was so the author of this tutorial has a year or less experience in 3ds Max and he just wants to be popular, but after I read the biography (CV) of Alessandro Cangelosi, I was shocked. In his "software experience", he say: Mental Ray, FinalRender, VRay, Brazil R/S - advanced (7 years), 3ds max - advanced + script + most of the major plug-ins (15 years), ... and in him "work experience": CG instructor (2008-2009), Custom Shaders TD (2009). Wow! LoL! ... Are these professionals that we need to pay and which we should learn? Hey, do not judge me if you do not understand what I say. All my life I saw people with magic knowledge, skills and talent, which are unemployed. Secondly, lamers where no end, but they have a job, some of them work for prestigious companies. I continue to wonder what is wrong with this world! Would you pay a someone if he have not done a good job? Or I missed something?

Friday, September 4, 2009

Dynamic Utility Menu

DUM (Dynamic Utility Menu) is my new MaxScript online.

Smart utility menu for your scripts.
Easy customizable (noted inside the code).

Reason to make it:
Many people dont know alternative way for hot access to their scripts except installing all of them as macros (MacroScripts). MacroScripts is welcome for dozen of scripts that we use everyday,but they difficulty to menage then they come a lot.
- Why Utility, the system menu looks better?
- The utility is most compact and most comfortably for navigation.
( For that it's called utility, right? )

In conclusion I must to say so I just try and hope I helps to people to avoid MacroScripts installation for every peace of code by give them some choice.

Read more and download my MaxScript here.

Thursday, September 3, 2009


I fall a lot of tutorials for chains and most of them just start with some hard modeling techniques, also end of nowhere :) but today I discovered for the first time someone who used my favorite technique for modeling chain, ie using rectangle shape. Yep, this is a nice and easy way. This is a French video tutorial and I don't understand what he's saying but is clearly visible.

I'll sketch here a short how I modeling chain. First I just tipe in Max Listener (F11) or miniListener (located in the bottom left corner):

Simple, right :) It's default size is OK (width = 25 and length = 10). Now just need to turn on enable in renderer and enable in viewport, set Thikness to 3 and Corner Radius to 4.5 , and the modeling of single chain is done.

You can save all of this to script, well, not so as to optimize the task but more to skip remembering the exact values and use them to ready the next time:
ch = rectangle thickness:3 cornerRadius:4.5 \
render_renderable:true displayRenderMesh:true \
name:"Chain01" isSelected:true

Also, if you use a script that will facilitate the task and next steps. As in the French tutorial, the next step is aligning pivot and except that it is faster also becomes more accurate doing this by script:
ch.pivot.x += ch.width / 2

Variable "ch" here is a rectangle shape that I set in the above example code. So as you know the pivot is on center of the shape and we need to move by X in distance equal to half the width.

Last step of the modeling that remained was to clone our chain using Array tool. What needs to know here is the distance you have to move each new copy by X. It's not the shape width. They must touch but not intersect another so we must take into account the shape thickness and to extract Thickness from Width, ie:
ch.width - ch.thickness

Or to say in numbers: (25 - 3) = 22. So in Array tool just set 22 for move by X and dont miss to set rotate to 90 by X. Choose a type of copy and amount, and hit OK.Well, this is the end of modeling part.
As to the linking of objects, must to say, if they are too much, definitely annoying to be tied one at a time, so and for this task I use simple script. I guess you used names as main (ie "Chain01", "Chain02", ...). So collect them as array in variable "all" and by loop link everyone as child to the next one to make the link hierarchy:
all = $chain* as array
for i=1 to all.count-1 do all[i].parent = all[i+1]
Now the chain is prepared for IK.

Tuesday, September 1, 2009

Render with default lights

How to renders with default lights, even if there are lights in the scene?

I think this asked so many times online so maybe is a time the answer to become a part of official Max help documentations, right? :)

In 3dsMaxRendering blog you can find tips how to place default Max lights to the scene. That's good and useful tips. But how to switch (turn on/of) a lot of lights? The Light Lister is not a nice solving. I found an script request at the ScriptSpot forum, so the peoples still looking for automatize process tips. And there is what born in my mind... just write 2 super short and simple script (in separate files) and assign them to Pre-Render and Post-Render procedure:

And of course this way you can easy enable/disable Pre and Post render scripts at any times.

MAXScript (to copy/save):

-- PRE-Render script
-- POST-Render script

Modeling of an ancient column

Poly modeling for beginners.
Video tutorial by Sascha Henrichs.