Skip navigation

Category Archives: 3dsMax

Let’s talk about optimization!!

This post give me the idea to start a thread on CgSociety’s forum to talk about optimization please join us HERE.

I want to show you a little tool created for an automatic optimization in production (Used on 4 productions) linked with an XML database.

This tool is exactly used like a sonar it detect all object viewed by the camera on a single frame, on a frame range or active segment. All those object are detected compared to a databased by production, that mean if you have specific objects you want to be ignored the script will automatically used those informations to make comparison with viewed object.

They are too steps in comparison a first one on detection that mean when detecting object it will ignore specified objects, class, Id … a second detection when choosing to hide/unhide objects outside view this detection is running at the complete end of script.

I have choose to put all objects outside view inside hidden Layer that an operator can check our not. If you want to separate objects inside another layer for any objects outside view you can add this filter inside the database for example: particles emitters if you putt them in same layers you can delete them and that will modify all particles if using same pflow for all similar objects.

Of course this tool isn’t good usable for objects that reflect his environment like Kaeloo (production Cube and Blue Spirit Studio). In this production characters reflect a reflection Sphere, clouds and sky that’s why those object are by default ignored by the Blue Sonar.

Blue Sonar parameters:

1-Choice between scanning:

2-Stationary camera (single frame)

3-Active Segment

If you choose 2 or 3 you can specify Every « n » frames to scan.

All those scanning option have a common Offset value to include a little bit more than the camera FOV for a maximum 90 degrees of FOV that mean if you camera is a 45 degree of FOV you have access to a maximum offset of 45 degree.

The camera view before blue sonar.

The camera view before blue sonar.

What's around the camera view before blue sonar.

What's around the camera view before blue sonar.

Scene's Layers before blue sonar.

Scene's Layers before blue sonar.

The camera view after blue sonar.

The camera view after blue sonar.

The camera view after blue sonar demonstrate that nothing change between the before and after view.

Around the camera view after blue sonar.

Around the camera view after blue sonar.

Around the camera view after blue sonar let you see what disappear after using Blue sonar.

Scene's layers after blue sonar.

Scene's layers after blue sonar.

You can see too layers created at the bottom list they are automatically hidden. The first one can be deleted if you in camera view if nothing disappear and the second one is used to stored all emitters outside camera view that you do not have to delete.

Final image

Final image

The problem is using this tool for all the timeline lenght take too long to be done when you are waiting in front of your computer that’s why i used the script heart as simple maxscript to use inside the Paul neal’s « batchItMax » this script have a single offset value 15 degrees. With this workflow we can optimize automatically 140 shots in one night it’s a big time saving.

As all 3dsMax users know there’s two big tools to organize and named groups of objects: Layers and Named Selection Sets. After longtime using max i create a workflow using those two tools to increase your rapidity and improve interactions of you tools with objects.

Differences between Layers and Named Selection Sets:


Layers are the most used selection sets in 3dsMax because it’s a ready to use tool with different pre-establishe options like « Hide/Unhide, Freeze/Unfreeze, Renderable Toggle, Edit Object Color, Radiosity Inclusion toggle »

Why Ready to use?!

Contrary to Named Selection Sets you do not have to create scripts to makes Layers working in your workflow by default you they are merged when you merged objects likewise if you duplicate and object Layers will put the duplicated object in the same layer than the original object.

Here is a small pic to explain interaction between layers and Objects

An object cannot be in more than one layer at a time. (the boxs with red border are Layers with object inside, the box with green border is an empty layer.)

Named Selection Sets:

The advantage of named selection sets is the fact that an object can be inside all Named Sel Set you want at a time.

An object can be inside all Named Selection Set you want at a time.

Here is a small pic to explain interaction between Named Selection sets and Objects

Named selection sets is unfortunately used for quick selection creation and used because those selections are just for a scene and cannot be merged from another scene. For example if i merged a set of teapot who are in a Named Sel Set named « Teapots » the name sel set « Teapots » will not be merge you will have to create it again.

There’s a workaround for create two scripts:

– A script to save Name Selection in scene as string in object properties.

– A script as a callback used to merge Named Selection Set with objects based on strings saved by the previous script.

Another disadvantage is remaining the fact that if you duplicate an object it will not be putted in same named sel sets that the original object is. The workaround for that is:

– A script as a callback to put a duplicated object in the same named sel set than the original object is.

Now how to work the best way with those two tools:

I used to work with layers for part of selections that do not interfere with another part like if i have a rigged character i will create a layers for bones, a layer for facial setup, a layer for character model etc… On top of that i will make a named Selection set for all setup, a named selection set for all model, another one for all the character model and setup and another one for all characters in scene. The last Named Sel Set will be populate by other character if they are merge and have same Names in Named Sel Sets like « CHARACTERS » in each character scenes.

This pic is a simplified worflow sample.

It's a simplified worflow sample, you can easily imagine the logic of this workflow. (boxes with red border are layers, boxes with blue borders are Names Selection Sets and boxes with Grey borders are objects category)

As you see layers are used to make different and complete distinct parts and named Sel Set used for more global sets. Those settings are interesting to interact with others tools inside a production pipeline like rendering, animation, layout and more the goal is to make the faster and logical workflow based on easy selections sets.

If you have another workflow please share it with us!!