» Back to Documentation

As a 3dsmax user you might be familiar with such concepts as object or modifier instancing, referencing, and copying. These terms are used throughout object workflow and are very common in day-to-day use. 3dsmax provides quick options to do these operations, however, what goes behind the scenes is occluded to the average user and in many cases this can lead to confusion.

Zookeeper's node-based approach addresses these terms explicitly due to its nature. The whole concept of instancing, referencing, and making unique becomes graphically visible and easy to understand. Furthermore, it can be extended to allow certain configurations that are very difficult or even impossible to set up using 3dsmax's native GUI.

Object Copying

The easiest to understand is copying objects. This can be done in viewport or inside Zookeeper by shift-dragging an object and selecting 'Copy'. This will take the source object and its whole tree of transforms, modifiers, and references and create a copy of each one of those items while preserving the object's reference structure.

The result is a new and unique object that can have its parameters changed without affecting the source object in any way. In Zookeeper this can be seen as a new tree of nodes that are not connected to the source tree in any way.

Object Instancing

3dsmax has scene nodes and objects which make up the geometric pipeline of scenes.

Instancing objects can be achieved by shift-dragging and selecting 'Instance' option and means that the new scene node will have the same object as the source node.

In the traditional GUI this just means that the new node will use the same parameters as the old node. Therefore, if you change a teapot's size of one node, for example, the other node's size will change as well.

In zookeeper you have direct access to both the scene nodes and their associated objects each represented using separate schematic nodes. This way you can easily visualize instancing as two different scene nodes having the same object plugged into them.

You can connect the same object node to any number of scene nodes to create any number of instances. To do this quickly simply drag out the output of an object node and select "Create new scene node for object".

Object Referencing

The third, and the most complex, notion is that of referencing objects. 3dsmax has a separate type of object (alongside geometry, helpers, lights, cameras, etc.) that is never accessible through traditional UI. In fact due to its hidden nature many users never get to directly see or deal with it. This object is the modifier stack object.

The modifier stack itself is very visible in 3dsmax: simply create an object and switch over to the modify panel. There you can add, remove, and rearrange a list of modifiers and edit their parameters. Traditionally only one modifier stack is associated with any one object and that is how 3dsmax handles things. However, in the background it creates a new modifier stack object and connects the original object to it.

This way you still have the original object which serves as a 'base' for the modifier stack object to which you can apply any number of modifiers. The stack object is then connected to the scene node to be represented inside the scene.

Referencing simply means creating a new node that connects to source node's object (same as instancing) but a new modifier stack is inserted between new node and the object. In 3dsmax this allows the user to add modifiers to the new object without affecting the source object in any way. So we can, for example, add a noise modifier to a teapot and have the new object have a deformed teapot geometry. At the same time if we adjust any of the teapot's parameters both new and source nodes are affected.

In Zookeeper the whole referencing structure becomes much easier to understand because it is so visual. We have one 'source' object, which plugs into one node and a modifier stack. The modifier stack then plugs into another node.

With the help of Zookeeper we can take this concept (much) further. What if you had a modifier stack connected to another modifier stack which is then connected to a scene node? Then you are able to have different nodes that share modifiers but at the same also have different modifiers.

These types of hierarchies are very easy to set up in Zookeeper and very fun to play with. Give it a go yourself!