
Learn advanced scripting in Maya through a practical approach that tackles SBX export pipeline shortcomings, adds automation and reusability, and builds a core engine, command-line workflow, and a UI framework.
Define a practical, non-destructive workflow for exporting FDX animations from Maya, removing namespaces, zeroing origins, and automating batch exports to fit game engines like Unity and Unreal.
Learn how to implement low level maya scripting procedures by adding an origin attribute to the root, checking object existence, and enabling a python–mel workflow for exporting hierarchies.
Learn to tag meshes for export in Maya by using message attributes and the master attribute, and read connections to set up export notes for multiple skeletons and animation exports.
Find objects procedure explains how to locate the origin-tagged joint by namespace, handling empty and non-empty namespaces, iterating through joints, and returning errors when no match is found.
Learn to locate blendshapes by tracing connections from the shape node, consider namespace assumptions, and build a robust procedure that preserves animation export.
Learn to implement a Maya garbage procedure that deletes all nodes tagged as garbage, preserving the top node, and removing temporary transforms and mesh clutter.
Learn to locate origin export nodes and their connections, verify required attributes, and build robust scripts that connect, validate, and manage export nodes for Maya workflows.
this introduction starts the second module in a five-part Maya series on advanced scripting, focusing on automation with the SBX exporter and building the character and animation export pipeline.
Learn model procedures in Maya by building custom export tools. Connect and disconnect export meshes, validate export nodes, and automate attribute checks with Python.
Bake the animation onto the origin joint of a duplicate skeleton, then move it to the world origin, using an additive or override animation layer to export origin-based animation.
Learn to build Maya export pipelines by implementing FDX animation and FDX character exports, configure export options in Mel, and call the exporter from Python.
Clear out garbage from a failed export to start with a clean scene, then export FBX animations for either a single character by namespace or all characters.
Export fbx character in Maya by configuring origin, namespace, and export options; preserve a non-destructive workflow by temporarily parenting the skeleton to world space and restoring it after export.
Address two mistakes in the maya export procedure, fix export node and mesh attribute checks, and emphasize testing and preparation for the next UI window module.
Learn how a Maya scripting engine stores export variables for automatic, repeatable export with the FDX exporter, and design a user interface with windows, buttons, and layouts.
Learn to build a Maya main window with two tabs for animation and model export, using a form layout and top-down design approach to wire UI elements.
Learn to build Maya animation UI elements by creating tabs, a tick-scroll list, checkbox groups, text fields, and buttons, then organize layout and parenting to drive export and animation workflows.
Builds the modeling tab UI in Maya, adding scroll lists for origin, joints, and export nodes, plus export options, buttons, checkboxes, and text fields to manage model export workflows.
Learn to build and wire pop up menus in Maya scripts, adding export notes to animation and modeling tabs with rename, delete, and select options.
Learn to populate the animation actor panel in Maya by iterating scene references, extracting namespaces, and updating the actor list with loaded namespaces.
Create and link help menus in Maya scripting by building read-only help windows, with scrollable text, for animation and model export workflows, supporting an expandable export pipeline.
Advance the Maya scripting workflow by turning the ui into a functional export tool: update panels, load and save export settings, and trigger the character animation export.
Tag the origin joint to populate export nodes, then rename nodes for clarity and label start, middle, and end segments for multi-part animations.
Tag a joint as origin by wiring a Maya UI button to run the origin export workflow. Learn to reference commands, import scripts, and populate panels with error checks.
Select an origin to populate the model export nodes panel with FDX export nodes, create new exports, and refresh the UI while validating inputs.
Learn to populate the geometry panel by clearing and repopulating the genome GM text scroll list, retrieving selected export nodes and meshes, and connecting or disconnecting them.
Learn to synchronize Maya export settings with the user interface by loading and saving values to the export node, enabling UI elements, and updating attributes across the workflow.
Develop and wire two Maya export buttons to export all characters or a single selected character, iterating export nodes, validating objects, and calling the character exporter.
join this final module on advanced Maya scripting to automate exports with the Phoenix exporter, store export settings, and finalize the animation tab and exporter UI.
Showcases populating the export nodes panel for the selected character by using its origin namespace, and exporting animation nodes while pruning model export nodes connected to meshes.
Learn to create new export nodes and popup windows in Maya, connect nodes to the origin, and update export panels with delete, rename, and refresh workflows.
Unlock the Maya animation UI and configure it from the selected export node's attributes, enabling controls such as export flag, move to origin, submarines, and start frame.
Update the export node from the user interface by querying animation settings and applying changes. Validate the export node exists and synchronize checkboxes, fields, and attributes to reflect interface updates.
Create and wire three anim layer buttons in Maya to record animator states, set animation layers on the selected export node, and clear animator data.
Debug the Maya model tab and export workflow while building custom tools. Fix mesh export errors and reinforce error checking and testing as you go across MEL and Python.
In Advanced Scripting in Maya, we will use a real-world issue as a teaching case while developing automation and support an FBX exporter. In the first module for this course we will discuss some basic philosophies about software design before we start writing our code. We will then begin our script by starting on some basic lower level functions and ending with the creation of our FBX export nodes. From there we will continue our script by designing all the procedures needed to handle exporting of rigged characters, setting our animation export settings, and managing anim layers per animation.
We will also show how to set our FBX export settings and will end the second module with writing the actual calls to the FBX exporter using our animation. Next, we will design our main UI, so all our export code will be easier to use. We will build a tabbed window so we can switch between model and animation export, and include such options as pop-up menus when we right-click for power users. To wrap things up, we will add the functions needed to make our UI work, we will create procedures that will automatically populate the UI depending on what is selected, procedures to support our popup menus, and eventually calling our export code.
(Students - please look under Section 1 / Lecture 1 downloads for the source files associated with the lesson.)
More about the Instructor:
Chad Morgan started his career at LucasArts where, as a newbie to the industry, was fortunate enough to work with some very talented mentors who taught him how to use Maya. Ever since then, Chad has been trying to pay it forward by sharing what he has learned, first by giving lectures at Autodesk Master Classes, then publishing an article in #d world Magazine, posting tutorials on YouTube, and finally teaming up with 3dmotive. Chad Morgan currently lives in Lake Forest, CA with his wife Carol and his son Xander.