3ds Max: Implementing a Modular Workflow for an Era of AR/VR
The world is leading toward a society more integrated with AR/VR with the continued advancements exhibited throughout media and our professional worlds. Delivering content to attract an audience and meet the demand of this era is challenging. This article isn't for the weak at heart, the unmotivated, or the lazy. It is for the serious professional who wants to meet that demand head-on. With planning, preparation, and implementation of modern tools and modular procedures, we can add scalability and efficiency to ensure maximum return on investment.
Let's start with the bad news. Eliminate baking and texture customization. High-res to low-res baking allows for adding details to elements such as weathering, cracks, and realism. However, it's one of the most time-consuming and least controllable processes in a production and modeling pipeline. That leaves us relying on various tools, UV tricks, modeling, and shaders to push as far as possible without it. With these, we can create virtual content that is scalable, efficient, and fit for a powerful pipeline.
We'll start by reviewing modular construction, an incredibly efficient method of production that adds value to every industry. Whether it's in the production of crops or the design of office buildings, consistency, and repetition lead to cost-effective results. That is especially true in the construction industry, where using standardized modules can improve the skills of construction crews, resulting in greater efficiency and innovation as experience is gained. Any deviation from this consistency can lead to increased costs and unpredictable results. In short, modularity is the most efficient path forward for any industry, including construction. The same is valid for technology, especially 3D and virtualization. Adhering to it will produce substantial long-term benefits. We ignore this simple principle to our demise.
Modeling is the most essential aspect of a modular workflow. Without baking, high-fidelity visualization can be more challenging. To address that, we can take advantage of 3ds Max's tools. Almost a near singular purpose for baking is to produce the edge quality needed for engines to render content with some realism. We control normal conditions and edge quality through that procedure. These normals help reflect light and render edge conditions more realistically. After all, every edge on the planet has some flatness that impacts light reflection (even blades at a near-microscopic level). We use some powerful tools in the 3ds Max arsenal to represent this properly.
Take a look at Figure 2.
This figure starts with a simple spline. Then apply the extrude modifier to add thickness. The Turn to Poly modifier is added to convert that object into a triangulated form (eliminating the ngons). The chamfer modifier is applied to provide the edge details we lose from eliminating the time-consuming baking procedure. Finally, we add the weighted normal modifier to eliminate the faceted appearance providing a clean, smooth object with edge details that are great for rendering engines and lighting. While this adds some triangulation, triangulation has become far less of an issue than complex texture maps for today's software and hardware. The time-saving component of this procedure is impossible to ignore. Take a look at Figure 3. This example shows a similar process can be utilized for more complex architectural elements. The only difference is that the spline isn't closed, so a shell modifier needs to be used to give it thickness after the extrude is applied to the spline. Tip: This is also one of the most common methods for creating curtains.
That addresses the primary visual component. Now let's move on to more profound aspects of modular construction. The idea is to apply code to generate the content randomly. If you review Figure 4, you'll notice the sections on top are uniform in length and height. That is significant for many factors. Some render engines operate more cleanly this way. Primarily, for a modular workflow, this allows us to streamline their connections, similar to Lego blocks. By maintaining this relationship, we apply conditions through coding that prioritize the pieces. So, if the piece is on the ground floor or meant for the corner of a building, we can code it accordingly. The consistent length and height make coding simpler. As 3D modelers, we apply nodes to each modular piece that our code can use to connect them. In the case of these architectural elements, the nodes are placed on all sides of the walls. As you can imagine, this becomes a coding exercise to connect the pieces based on priority. As long as the dimensions are maintained, we don't have to get too complicated about what pieces go where. In a similar fashion, we can push it further by utilizing a single UV trim sheet template for every piece. That's a more advanced workflow that must be discussed at another time.
The final step is to add details, such as columns, signs, etc. This is as easily accoemplished by having the 3D artist place additional nodes for those details in positions they should apply. Then, as coders, we apply a random selection, say for signs, to attach to that location.
That concludes the overview of a modular, bakeless procedure. If you're interested more in all these processes, a similar example was shared by Cryptic Studios in their youtube video "Trim My Starship: Building Flexible, Modular Hero Assets in 3ds Max" for the Star Trek Multiple Player Online Roleplaying games here: https://youtu.be/Be4m9EGOv2U