3DS MAX SCRIPTS
While at Designstor I developed hundreds of scripts. Our scripting solutions spanned a broad spectrum, ranging from simple, time-saving scripts to complex, integral components of our workflow pipeline. Each script, irrespective of its scale, shared a common goal: to streamline processes and enhance productivity.
Our journey at Designstor was marked by punching above our weight in terms of output, given our team size. This remarkable efficiency was a testament to the power of our scripts and the innovative mindset of our team.
Central to our success was our collaborative ethos. Every script, every enhancement had its roots in meaningful dialogues with artists, project managers, and passionate team members. These conversations often began with an imaginative "Wouldn’t it be cool if!” and evolved into practical, efficiency-boosting tools.
This fusion of teamwork, creativity, and technical skill was the true essence of Designstor. Without our incredible team and their invaluable feedback and ideas, we wouldn't have reached the heights of development and efficiency that became our hallmark.
This page showcases a very small selection of an entire library of tools that I developed.
Designstor Render Beaver
Render Beaver was not just our in-house rendering tool at Designstor; it was the technological backbone that supported and enhanced our creative endeavors.
As a versatile pipeline tool, Render Beaver handled an impressive range of tasks. From producing 3D stills and animations to real-time 3D texture baking, and even the distributed calculations of 3D fractals, its capabilities were vast and varied.
What set Render Beaver apart were the numerous artist-centric features developed over the years. A prime example is the 'sanity check' - a pre-render evaluation that flags potential issues in a scene, ensuring smoother workflows and reducing time-consuming errors.
I integrated optimized animation toolchains tailored to the needs of artists. These toolchains assisted in selecting scene types, setting up calculation modes, and establishing temporal denoising. A particularly innovative feature was 'weave rendering', which allowed animations to be completed at 50% of the time, with AI interpolating the missing frames, thus significantly accelerating the rendering process.
While this is not an exhaustive list, the features highlighted here are some that I am particularly proud of. Render Beaver has been instrumental in pushing the boundaries of what we could achieve at Designstor, blending technical prowess with creative intuition to produce outstanding results.
Auto naming and file organisation
Auto setting update for GI modes
Channel selection modes
Custom tile selections
Multiple output format support
Still and animation rendering
Toon render pass
Render element auto profiles
Pass rendering
Animation - Reading of shotlists
Scene error checking
Lens + CC pass
Region rendering
Priority selections
Animation - Frame calculation modes
ANIMATION : WEAVE RENDERING
(A case study)
Utilizing Deadline Beaver for your animation submissions not only streamlines the workflow but also significantly reduces stress. Initially, the program acts as a pre-emptive troubleshooter, alerting you to common oversights — maybe you haven't selected a camera, or perhaps you forgot to switch to high-quality settings. These early warnings ensure you start on the right foot, offering invaluable peace of mind.
Once your project is submitted, Deadline Beaver skilfully handles the rendering in multiple stages. It begins by rendering every 30th frame, providing a strategic cross-section of your animation. This is particularly useful for catching details that may have slipped through the cracks, like realizing you forgot to turn on the trees for the east view after the client’s request to turn them off for the west view. But no worries — it's only been 20 minutes, and a quick resubmission is all it takes. You might even send these initial frames to the client for a preliminary review.
The next phase involves Deadline Beaver rendering every even frame for all your shots. Running short on time? The program can employ AI interpolation to fill in the remaining frames. If the schedule allows, it effortlessly completes the in-betweens.
For temporal denoising, a custom C++ program operates behind the scenes, packing EXR data into a format compatible with the VRay standalone denoiser. This allows the data to be run and interpolated, facilitating smooth animation denoising. The process is effective both at the Nth frame stage and at the final stage, enabling a fully denoised animation to be achieved when it is 50% complete.
As you move into the final compositing stage and prepare for client feedback, brace yourself for the typical curveball. Often, it's something along the lines of, "Why are you using the old model? Dave was supposed to send you the new one two weeks ago." Despite these inevitable surprises, Deadline Beaver is your steadfast ally, ready to guide you through the process again.
Realtime 3D pipeline tools
I developed a comprehensive suite of tools while I was at Designstor to facilitate the creation of real-time 3D content. Initially, these tools were designed for straightforward 'flat' baking processes, but they evolved into a more extensive PBR solutions. The pipeline was linked with our render farm, with full support for tile rendering of individual textures. This feature prevented high-resolution 4K/8K textures from becoming bottlenecks during the baking process.
This pipeline managed the entire workflow, from UV unwrapping to exporting in a custom JSON material format. It also accommodated iToo Forest data, parsing it to generate a separate file that detailed all Position, Rotation, and Scale (PRS) data for each piece of vegetation. This file was then ready to be processed by scripts on the Unity side, which could efficiently instance geometry, imposters, or billboards as needed.
The tool was deliberately designed with a modular "toolbox" approach to facilitate rapid iteration and adaptation. As the workflow evolved, additional tools were incorporated to bridge gaps and identify potential issues, enhancing efficiency and productivity. For example, tools like "UVW Map Breakdown" and "Free UVW 2 Slot" transformed tedious tasks into simple click operations. Similarly, the "Review Texel Density" tool provided artists with immediate feedback on unwraps, pinpointing areas that required refinement—a critical step for ensuring quality before commencing the baking process.
To document each and every piece of software contained within the suite would probably take another whole website by itself. Instead I have chosen to show a gallery of images showing individual links to some of the tools to get an idea of how it works.
Designstor Script Manager
The Designstor Script Manager, crafted during my initial years at Designstor 17 years ago, is a versatile tool that accommodates both proprietary and third-party scripts across various formats. It is user-friendly, allowing for straightforward script additions and settings adjustments by simply clicking on the Designstor logo. Scripts can be stored in personal user directories or in shared company folders, making them accessible to all employees.
An INI file was employed to feature the most frequently used scripts, while the inclusion of categories and tags enhanced the effectiveness of the fuzzy search function.
The Manager not only streamlined workflow but also gathered user data, providing valuable insights into which scripts were being utilized most. This data informed where to allocate additional development efforts and identified underused scripts that had the potential to be more integrated into our workflow.
Usage statistics
Script manager
DS View Selection Beaver
The View Selection Beaver at Designstor served as a practical tool for the creation of view selections. It included a built-in labeling system to assist with consistent naming practices from the beginning. The tool also featured the Designstor review bar for added convenience. Behind the scenes, it operated by initiating a Fusion render node, editing a Fusion composition, and carrying out the rendering process on a separate thread, which allowed users to continue their tasks without delay.
I have chosen to showcase the documentation pairing for this tool.
Unsung heroes
These scripts quietly perform essential tasks every day, often going unnoticed after becoming a routine part of the workflow. Typically smaller in scope, they nevertheless become integral, seamlessly blending into daily operations and significantly enhancing efficiency and productivity.
DS Proxy Display
The DS Proxy Display tool is designed to modify the display of proxies throughout an entire scene, with the flexibility to alter proxies either by layer or across the whole scene.
This script, frequently used on a daily basis, is so seamlessly integrated into workflows that it's hard to imagine it isn't a built-in feature. It stands as a testament to the kind of practical, artist-driven solutions that emerge from a collaborative work environment.
DS Modifier Killer
The DS Modifier Killer is a frequently used daily tool that efficiently removes modifiers from objects. Its regular use significantly eases the process of managing modifiers, making it a valuable asset in streamlining workflow and reducing the complexity typically associated with handling such elements.
MCG Tools
This is a collection of MCG tools that I developed for Designstor. These modifiers, frequently used to heighten the realism of renders and scenes, work directly on base geometry. This approach facilitates a renderer-agnostic solution, adaptable across various platforms. The tools are versatile enough to integrate seamlessly with our real-time scene setups and compositing pipelines as needed
Transform Random by Element
This geometry modifier introduces random Position, Rotation, and Scale (PRS) variations for each element, controlled by a specific seed.
Ideally suited for subtle applications such as on paving, this modifier significantly enhances realism by applying minor adjustments to position and rotation.
Moreover, for a more natural and organic appearance, noise can be utilized in place of pure randomness to govern the transformations
UVW Random by Element
It enables precise control over randomization, both in UV space and as rotation measured in degrees.
This geometry modifier randomizes UVW coordinates for each element using a specific seed.
Vertex Colours by Element
This geometry modifier randomizes vertex colors using a specific seed. It's typically utilized to drive advanced material channels.
For added versatility, RGB values can also be randomized independently, providing extra data at no additional cost!
VIVE Standalone: 3DS Max Integration
TLDR : VIVE Standalone, developed as a .NET DLL, was a versatile plugin crafted for seamless integration with HTC VIVE's trackers, headset, and controllers. This innovative plugin was engineered to enrich the 3D animation and cinematography experience in Autodesk's 3DS Max through intuitive Maxscripts.
One of the standout features of VIVE Standalone was its ability to transform the 3DS Max environment into an immersive, to-scale virtual space. By attaching a tracker to a Tablet running a 3DS Max scene, users could navigate through their 3D scenes in real-time, gaining a unique perspective and unparalleled control over their spatial designs.
Additionally, the plugin leveraged the capabilities of the VIVE controllers for motion capture, unlocking new possibilities in animation and scene creation. The precision and ease of this functionality offered astounding potential for artists and designers, allowing them to bring their creations to life with an unprecedented level of realism and interactivity
VIVE Standalone represented a significant leap forward in virtual reality applications within the realm of 3D animation at our studio with an incredibly low price tag for what it did. Setting a new standard for interactive design and visualization.