Bridge Generator Tool - Custom Maya Tool
This project focuses on the design and implements a production tool that will optimize artistic workflow, automate repetitive and tedious operations and extend the current functionality of Maya. This custom Maya Tool is for procedural bridge block creation. Primarily address the need for creating multiple interchanges or city scene blocks.
Purpose:
This specialized Maya tool addresses the demand for constructing intricate interchanges. It is designed to optimize the layout and environment creation process, enabling users to effortlessly generate and tailor bridge models with various shapes, pier types, and vehicle models. The tool streamlines the construction of bridge components by automating curve creation, surface extrusion, object attachment to motion paths, and scene organization. Offering a wide range of bridge shapes and pier types, this tool allows users to create diverse and authentic bridge designs, while maintaining the flexibility to edit and modify as required. This tool also optimizes the creation of shading, texturing, and lighting for 3D bridge models in Autodesk Maya by automating the process using Arnold's aiStandardSurface and aiOslShaders materials. By generating a custom shader network, the tool integrates various texture and noise maps to achieve a natural and detailed appearance, while establishing an aiSkyDomeLight for realistic environmental lighting. The Custom Shading Tool simplifies the material and shader creation process, enabling artists to effortlessly browse textures from a local directory and automatically connect texture maps with parameter adjustments.
GUI:
Components:
Bridge Generator
This class utilizes a shading group instance variable, which can be used to assign the shader to grass or leaf objects. The createAiShader method creates an aiStandardSurface and uses os.walk to collect texture files and connect them to their respective attributes.
Default Shaing
The Default Shading Tool is composed of several components, including aiStandardSurface material as the base shader. aiCellularNoise and aiColorJitter nodes for generating color variations. simplexNoise and solidFractal nodes for controlling frequency and jitter of the noise. Normal and displacement maps using bump2d, file, rock, and displacementShader nodes. aiSkyDomeLight for environment lighting, with texture and place2dTexture nodes for HDRI image control.
Custom Shading
The Custom Shading Tool is composed of several components, including an aiStandardSurface shader, bump2d node, aiColorJitter node, aiMultiply node, and various file nodes. These components work together to create a custom shader based on the provided texture maps, allowing for seamless integration of the texture maps into the shader network.
GUI
This part contains all methods for calling modeling and shading methods through buttons, slider and a file dialogue box for finding the texture folder path.
This class utilizes a shading group instance variable, which can be used to assign the shader to grass or leaf objects. The createAiShader method creates an aiStandardSurface and uses os.walk to collect texture files and connect them to their respective attributes.
Default Shaing
The Default Shading Tool is composed of several components, including aiStandardSurface material as the base shader. aiCellularNoise and aiColorJitter nodes for generating color variations. simplexNoise and solidFractal nodes for controlling frequency and jitter of the noise. Normal and displacement maps using bump2d, file, rock, and displacementShader nodes. aiSkyDomeLight for environment lighting, with texture and place2dTexture nodes for HDRI image control.
Custom Shading
The Custom Shading Tool is composed of several components, including an aiStandardSurface shader, bump2d node, aiColorJitter node, aiMultiply node, and various file nodes. These components work together to create a custom shader based on the provided texture maps, allowing for seamless integration of the texture maps into the shader network.
GUI
This part contains all methods for calling modeling and shading methods through buttons, slider and a file dialogue box for finding the texture folder path.
Implementation:
The tool is implemented using a Python script with functions that utilize Maya commands (cmds) to create and manipulate objects in the scene. These functions are organized into different sections that handle the creation of bridge shapes, and the functions for setting up shaders. The tool is designed to be run within Autodesk Maya, where users can access and execute the provided functions to create and customize bridge models as needed.