Customizing software can be dicey depending on the package in question, who you talk to, and the way the tools are used. The goal of customization is always a combination of extending functionality and streamlining workflow. With CAD or Autodesk® Revit®, every office creates its own customized templates, pen assignments, and so on. Generally these are implemented by a CAD leader or manager, and are adopted by all users. With so many standards in the CAD world most of these customizations are generally heading in the same direction, but are tweaked for a particular work environment.
A Different Drum
Autodesk® 3ds Max® is a different beast, though. It is an artistic tool, and the typical power user is a digital artist. As opposed to Revit, where either you play by the rules or you don’t play at all, 3ds Max allows for a seemingly endless variety of approaches and working methods. As artists, we are inclined to experiment and to find our own ways of working—we develop habits. It is common to find a Max user who uses his or her own naming conventions, or none at all. Max allows you to use layers, selection sets, scene states, groups, object type filters, and more. These tools are designed to help keep track of and manipulate the scene.
I tend to think of workflow management in terms of language. In this model, a statement—or an image—can use widely diverse syntax, or even a dialect known only to one user. Because of this flexibility it is often a challenge to work on a scene that was created by someone else. Too many scenes are populated by generically named objects such as “Box 2053” or “Loft 47.” One nice thing about Business Information Modeling (BIM) data (through .fbx) is that your objects come into Max already named, so you have a starting point when it comes to organizing your 3ds Max scene. Not so with Google SketchUp, where objects are all numbered meshes. But the intricacies of scene management are for another article.
Figure 1: Select for scene model from Revit.
Figure 2: Select for scene model max geometry.
Figure 3: Select for scene model from SketchUp.
Understand the Options
Think of customizations falling into two categories: User Experience and Functionality. User experience refers to the way tools are implemented, including visual interface, keyboard shortcuts, context menus, colors schemes, layout, and so on.
The actual functions of Max can be extended under the hood with custom scripts and third-party plug-ins. Some additions work to automate or augment Max’s existing functions, including uvw mapping, scene asset management, and animation controllers. Other scripts and plug-ins add new capabilities beyond the standard tool set. These can generate geometry, cameras, lighting rigs, entourage, and more.
At the top of the plug-in list is, of course, the rendering engine. The importance of the renderer cannot be overstated. It is the tool that will actually create the pixels that make up your images, and is the culmination of all the work so far. The rendering engine determines the material type, light type, and often the camera type. As you’d expect, most are not compatible with each other. If you’ve ever had to open a file to find the “Missing Renderer” error, you know you’ve got some work ahead. Geometry must be merged into a new Max file, materials stripped, lights changed, and cameras replaced. There are some excellent conversion scripts available to help automate the translation process, but it can be a chore, and it wastes time.
Mental ray began as a plug-in many versions ago, but for quite some time, it has been part of 3ds Max. With many excellent rendering engines on the market, inevitably the choice, at least in archviz, seems to come down to mental ray versus Vray. It’s almost like the PC/Mac debate. My advice: learn ‘em both. Architects tend to rely on mental ray because of its close ties to Revit, and the inescapable “it’s free” argument. Many archviz studios use various renderers. Their chief production pipeline is that of an animation studio where imagery and film are the end product. For architects, visualization plays a secondary role. Max does not generate construction documents, etc. Being skilled with more than one rendering tool makes you more flexible and valuable as a Max user.
Deciding when to customize comes down to this: Are you part of a team with a specific workflow, are you an independent working on your own, or are you managing a studio? If you have the luxury—or chore—of doing projects from start to finish I say customize away. It is important to customize in a non-destructive way, though, meaning that you should avoid changing the tool set and, instead, only add to it.
Keyboard shortcuts are an excellent example. I started using Autodesk® VIZ 2.5, and learned some of the shortcuts but also added many of my own. I also used other programs and developed my own set of shortcuts that I could use in several packages. At the time this increased my efficiently.
Several years ago I did some work at a firm where I was not the only Max user. Max seats were limited to a few graphics stations in the office, so we shared them. I soon realized that my shortcuts were very different from the factory defaults. An interim solution was to keep a copy of my preferences file on a flash drive, so I could quickly set up the machine I was using. Then, when finished, I would restore the original preferences file. This was too much work and it wasted time; especially important with projects on tight deadlines. Do an online search for Max’s default shortcuts and just learn them. You don’t need them all, just the ones you use most frequently in your general working. However, If you do learn them all, you could work in “expert mode” (contol+x), where only the viewport shows. It’s kind of Zen, actually.
Figure 4: 3ds Max in expert mode.
Compatibility becomes even more crucial when working across a network and setting up a render farm. Assets now must be located centrally on a server, where all machines can use them. Now is the time to set static ip addresses, permissions, and to re-path assets in your Max files to absolute addresses on the server.
Figure 5: Asset Manager. Note absolute network paths beginning with \\ and the server name. Path names to a virtual drive might cause problems.
I once set up a render farm consisting of just two workstations. I couldn’t resist calling them Fred and Ethel. Now when I rendered I got 12 buckets on my screen churning out each frame instead of just four. It was more of a render garden in hindsight, but still a start.
Several types of plug-ins can be installed locally on one workstation and function properly. Typically they are object- management tools that aid the user in working on the scene. A good example is ZooKeeper.
Figure 6: ZooKeeper scene manager plug-in.
Other plug-ins and scripts that affect the way objects in a scene appear or are rendered need to function on all machines that render the job, and must be installed on each render node. A single missing plug-in, like a dropped bitmap, can affect all frames. You could render a sequence out over a weekend only to find on Monday morning that the animation can’t be used because the tree generating plug-in skipped blocks throughout the entire shot.
In this environment there are certain functions of Max that resemble a more stringent workflow like that of Revit with its centralized file paradigm. For example, with mental ray you’ll use Backburner, the render queue management component in Max. Vray requires you to run Backburner at least once to set up its distributed rendering capabilities.
The Bottom Line
In the end, it is best to exploit all the tools inherent in 3ds Max before adding levels of complexity to a workflow that will affect others or even make your own job more complicated than it has to be down the road.
Tom Cipolla is a digital artist specializing in architectural visualization. Born in New York, he trained as a sculptor and transitioned to digital work in 2000. Tom has taught foundry practice, sculpture, drawing and 3D software. He is a member of AAUGA in Boston, and has written articles for SIGGRAPH and AUGIWorld. Tom’s studio, Onion3D Design, is a consulting and animation studio located in South Boston, MA.