Skip to content

mGear 5.4.0

Latest

Choose a tag to compare

@miquelcampos miquelcampos released this 14 Oct 03:41
· 17 commits to master since this release

mGear 5.4 Release

Compatibility: Maya 2022 - 2027

We're excited to announce mGear 5.4.0, one of our biggest releases. It brings a new facial rigging system, Anim Picker 2.0, new tools for animators, a rebuilt Spring Manager, deformer import/export tools, and Shifter builds that run about twice as fast.

Anim Picker 2.0 first shipped as a preview in 5.3.5, so this release is its official introduction.

As always, mGear is free and open source.


Facial Rigger 3.0

The Eye, Lips and Brow riggers have been rewritten on a shared facial engine. All three share one window, one way of picking geometry and one config format.

  • Eye Rigger 3.0: vertex loop input, any eye orientation, mirrored right side controls and .eyes config import/export.
  • Lips Rigger 3.0: automatic upper and lower lip detection, jaw follow, zipper, lip roll and .lips configs.
  • Brow Rigger 3.0: one brow per build with a center brow hooked to the sides, squeeze, secondary controls and an optional slide surface that follows the skull shape.

Each rigger also ships as a Shifter component, so the face builds with the rest of the character: eyelid_01, lips_01 and brow_01.

Eye Rigger 2.1 is still available and gets bug fixes in this release, so existing rigs keep building as before.

facial_rigger3_eyes

Anim Picker 2.0

The Anim Picker has been rebuilt with a new editor and many new kinds of items.

  • Editor: on-canvas move, scale and rotate handles, a docked panel that edits the whole selection at once, align, distribute and spacing tools, and undo/redo with keyboard shortcuts
  • Vector items: real curved shapes. Import .svg files, or draw and edit them in the new SVG editor with path tools, booleans and layers. Convert polygons to vectors and export SVG
  • Interactive widgets: checkboxes and 1D and 2D sliders bound to Maya attributes or scripts
  • Trace from selection: one silhouette button per selected control, colored from the control
  • Mirror pairs and color palette: link left and right items so edits mirror in real time, and color an item and its partner in one click
  • Shape library: premade shapes (gear, face, hand, foot, arrows and more) with drag to create, plus your own saved shapes
  • Layout: backdrops, layered tab backgrounds with no size limit, screen capture as a background layer, tab reordering and a multi-tab grid, rows or columns view
  • Pinned HUD buttons that keep their screen position while you pan and zoom
  • Conditional visibility by channel value or zoom range, and checkbox toggles for item groups
  • Passthrough mode: the floating picker becomes a click-through overlay on the viewport
  • Dockable as a Maya workspace control, with high-DPI support and autosave reminders

Picker data is now stored as clean JSON, and older pickers are migrated when opened.

Documentation: https://mgear4.readthedocs.io/en/master/animPickerUserDocumentation.html

editor

Animbits Hub

Animbits Hub is a hotkey overlay that brings everyday animation tools to your cursor:

  • Tween sliders: tween, blend to default, mirror or a stored pose, push/pull
  • Key tools: nudge keys, copy/paste world pose, temp pivot

It works on the selection and on your bookmarks.

animbits_hub

Blocking Ghosts

Blocking Ghosts shows semi-transparent ghosts of the character at each keyframe of the controls you watch. The ghosts update as you change keys, which makes spacing and silhouettes easy to read while blocking.
This tool is inspired by https://rumba-animation.com/ Try Rumba Animation if you have the chance! it is an amazing animation Software ❤️ , and mGear rigs are compatible 😉

Blocking_ghosts

Spring Manager 2.0

Spring Manager has been refactored on solver backends, with live multi-spring editing, presets v2 with thumbnails and libraries, and better bake options.

  • Bone Dynamics solver (requires the boneDynamicsNode plug-in)
  • Classic Gravity solver with gravity, sphere colliders and a ground plane
  • Colliders: sphere, capsule, plane and mesh, with fit tools and collider presets
spring_manager 2 0

Deformer IO: Lattice, Shrink Wrap and Proximity Wrap

Three new Rigbits tools export and import deformers with their settings, membership, weights and deformer order:

  • Lattice IO (.lat), which replaces the standalone lattice serializer script
  • Shrink Wrap IO (.shw)
  • Proximity Wrap IO (.pxw), with drivers and falloff ramps, plus a warning when importing off the bind pose

Each tool has a matching Shifter custom step template, and the files can be dropped onto Maya to import them.


Mirror Config

Mirror Config sets up the mirror pose flags of every rig control from the rig itself. It includes a verify mode, .smc import/export and an Import Mirror Config custom step template.

mirror_config

Faster Shifter Builds

Rig builds are about twice as fast, mainly from faster pymaya node creation and attribute lookups.

We also tracked down a big slowdown on repeated builds: with the bluePencil plug-in loaded, DAG edits get much slower. Shifter now warns you when a slow plug-in like this is loaded. You can add your own plug-ins to the warning list with the MGEAR_SLOW_PLUGINS environment variable.

shifter build time

Other build improvements:

  • Stop build on validation fail option: components can validate their guide and be skipped instead of stopping the build
  • Rig-wide switch to turn off component autoskin
  • A faster Build Log window that stays responsive across repeated builds
  • Resizable pre and post custom step lists

Additional Enhancements

  • HumanIK Mapper reworked to run without Maya's HumanIK window, with a mapping overview, bake to layer and improved batch bake
  • Gimmick Joints rebuilt as a tool window with mirror, select, flip, .gst import/export and a custom step template #279
  • Skin import supports namespaces and opens a remap dialog for missing objects or joints, with .gSkinMap mapping files
  • Bookmarks moved to the Animbits menu, with middle-click to key a bookmark
  • Viewport menu refactored on a section registry, so tools, custom steps and Shifter components (with a dagmenu.py) can add their own right-click items. New Full Pose submenu to mirror or flip the whole pose, and much faster mirror/flip on large rigs
  • File Drop: register_drop_handler lets studio tools handle their own file types
  • New core modules for TDs: deformer_io, selection_bookmarks, config_io, settings_schema, settings_form, core.facial and more

⚠️ Breaking Change

Bookmarks moved from Utilbits to Animbits. Scripts and shelf buttons that use mgear.utilbits.bookmarks need updating.


Thanks

Special thanks to @aurorafreir (skin namespace support, supersedes PR #223) and @evilbeanz13 (proximity wrap mode, supersedes PR #650).


Get mGear 5.4.0

Thank you to everyone who contributed bug reports, feature requests and code to this release. mGear is built by the community, for the community.

Happy rigging!


Full Changelog

5.4.0

New Features

  • Animbits: Animbits Hub: New hotkey overlay with tween sliders (tween, blend to default, mirror or a stored pose, push/pull) and key tools (nudge keys, copy/paste world pose, temp pivot) for the selection and bookmarks
  • Animbits: Blocking Ghosts: New tool that shows semi-transparent ghosts of the character at each keyframe of the watched controls, updating as keys change
  • Rigbits: Lattice IO: New tool to export and import ffd lattices (.lat) with settings, membership, weights and deformer order. Replaces the standalone lattice serializer script
  • Rigbits: Shrink Wrap IO: New tool to export and import shrinkWrap deformers (.shw) with settings, connections, membership and weights
  • Rigbits: Proximity Wrap IO: New tool to export and import proximityWrap deformers (.pxw) with drivers, falloff ramps, membership and weights
  • Shifter: Mirror Config: New tool that sets up the mirror pose flags of all rig controls from the rig itself, with verify, .smc import/export and an Import Mirror Config custom step template
  • Rigbits: Eye Rigger 3.0: New eyelid rigger on a shared facial engine, with vertex loop input, any eye orientation, mirrored right side controls, .eyes config import/export and Eye Rigger 2.1 fixes (opened from the new Facial Rigger 3.0 menu)
  • Shifter: eyelid_01: New component building the Eye Rigger 3.0 eyelid rig from an eyelid loop, with eye center and aim locators, mirrored guides and eye component connectors
  • Rigbits: Lips Rigger 3.0: New lips rigger on the shared facial engine, with vertex loop input, automatic upper/lower lip detection, jaw follow, zipper, lip roll and .lips config import/export (Facial Rigger 3.0 window)
  • Shifter: lips_01: New component building the Lips Rigger 3.0 rig, with mouth center and aim locators and mouth component connectors
  • Rigbits: Brow Rigger 3.0: New brow rigger on the shared facial engine, one brow per build with a center brow hooked to the sides, squeeze, secondary controls, an optional slide surface for the skull shape and .brows config import/export (Facial Rigger 3.0 window)
  • Shifter: brow_01: New component building the Brow Rigger 3.0 rig, with root and aim locators and center brow hooks to the side brows

Enhancements

  • Animbits: Spring Manager 2.0: Refactored on solver backends, with live multi-spring editing, presets v2 with thumbnails and libraries, and improved bake options
  • Animbits: Spring Manager: Add Bone Dynamics solver (requires the boneDynamicsNode plug-in)
  • Animbits: Spring Manager: Add collision with sphere, capsule, plane and mesh colliders, fit tools and collider presets
  • Animbits: Spring Manager: Add Classic Gravity solver with gravity, sphere colliders and ground plane
  • Animbits: HumanIK Mapper: Reworked to run without Maya's HumanIK window, with mapping overview, bake to layer and improved batch bake
  • Anim Picker: SVG editor to draw and edit vector items in the picker, with path tools, booleans and layers
  • Anim Picker: Create new vector items, convert polygons to vectors and export SVG
  • Anim Picker: Capture a screen region as a background layer
  • Animbits: Bookmarks: Moved from Utilbits to the Animbits menu, with a Show In Tools menu for the Animbits Hub, middle-click to key a bookmark, and the last namespace is remembered. Scripts and shelf buttons using mgear.utilbits.bookmarks need updating
  • Core: Selection Bookmarks: Bookmark data, actions and storage moved to mgear.core.selection_bookmarks so any tool can use them
  • Core: Anim Utils: Add blend caches, key nudging, timeline range and world matrix helpers, plus node name matching and rich tooltips
  • Core: Skin: Skin import supports namespaces and opens a remap dialog for missing objects or joints, with .gSkinMap mapping files. Supersedes PR #223 (thanks aurorafreir), mgear4#172
  • Core: Skin: importSkin / importSkinPack gain namespace, on_missing and mapping arguments
  • Core: Deformer: create_proximity_wrap gains an optional wrap_mode argument. Supersedes PR #650 (thanks evilbeanz13)
  • Core: Add deformer_io, a generic layer to save and rebuild deformers, plus deformer stack, weights and lattice helpers
  • Core: Add screen_capture, vector_path, svg_export, shading, node_remap and config_io modules
  • Core: Add helpers for undo, progress bar, OM2 callbacks, widgets, settings, smooth scrolling, animation bake, Time Editor, skin bind pose check and scene namespaces
  • Core: Add settings_schema and settings_form for schema-driven tool settings, facial rig engine (core.facial), ordered edge/vertex loops, loop frame, topological autoskin and matrix constraint helpers
  • Core: File Drop: Drop Lattice, Shrink Wrap, Proximity Wrap, Channel Wrangler, Channel Master, Anim Picker and Bookmarks files onto Maya
  • Core: File Drop: register_drop_handler lets studio tools handle their own file types
  • Core: Menu: Warn when a submenu item uses a callable command instead of a source string
  • Core: Viewport Menu: Refactored on a section registry, so tools, custom steps and Shifter components (with a dagmenu.py) can add their own right-click items
  • Core: Viewport Menu: Full Pose submenu to mirror L → R, R → L or flip the whole pose, shared in anim_utils for other tools
  • Core: Anim Utils: Mirror and flip pose are much faster on large rigs: only changed values are written
  • Rigbits: Proximity Wrap IO: Warn when importing off the bind pose
  • Rigbits: Gimmick Joints: Rebuilt as a tool window with mirror, select, flip, .gst import/export and an Import Gimmick Joints Configuration custom step template, replacing the Gimmick Joints submenu #279
  • Shifter: Build Log: Faster log window that stays responsive across repeated builds
  • Shifter: Guide Explorer: Skip tree refreshes while a build is running
  • Shifter: Add is_building() and build_in_progress() to detect a running build
  • Shifter: Custom Step: Add Import Lattice, Shrink Wrap and Proximity Wrap Configuration templates
  • Shifter: Custom Step: Add Import Facial Rigger 3.0 Configuration template
  • Shifter: Custom Step: Pre and post step lists can be resized by dragging; shared steps use a softer moss green
  • Shifter: Build: Rig builds are about twice as fast, mainly from faster pymaya node creation and attribute lookups
  • Shifter: Build: Component build data is collected only when a data collector is on or a custom step reads it
  • Shifter: Build: Warn when a slow plug-in such as bluePencil is loaded
  • Shifter: Build: New Stop build on validation fail and Autoskin options; components can validate their guide and be skipped instead of stopping the build, and their autoskin can be turned off for the whole rig
  • Docs: Document Animbits Hub, Blocking Ghosts, Lattice / Shrink Wrap / Proximity Wrap IO, Mirror Config, Spring Manager, HumanIK Mapper, Anim Picker SVG editor and screen capture, skin namespace support, the build log and file drop

Bug Fix

  • Shifter: Build: Building in mayapy no longer crashes on the build log window, a failing custom step or a component settings window
  • Core: Skin: Fix skin pack export file names for clashing or namespaced objects
  • Core: pymaya: Fix nodes of plug-in types loaded after the first pymaya use not being wrapped, which made Shifter components fail silently
  • Core: Skin: Fix vertex count mismatch import in batch mode and from the Import Skin menu
  • Core: Skin and Weights menu: Items can be added to a shelf and repeated with Repeat Last
  • Core: callbackManager: Fix Python 3 errors when removing callbacks
  • Core: Smart Reset: Reset in one undo step
  • Core: Clear Baked Spring nodes: Fix IndexError on springs without pairBlend
  • Core: Viewport Menu: Fix IK/FK switch of components sharing a blend, X-Ray toggle acting on the selection, menu failing on non-enum ref attributes, and the Update Selected Components Type label
  • Core: Viewport Menu: Mirror/Flip all below use every selected control and no longer cancel left/right pairs
  • Core: Viewport Menu: Fix Mirror/Flip all below acting twice on some controls in Maya 2024
  • PyMaya: PyNode raises MayaNodeError again for missing nodes
  • PyMaya: A missing node error is also a TypeError, as in PyMEL, so old fallbacks that catch TypeError work again
  • Rigbits: Add Joint, Add Blended Joint and Add Support Joint work in scenes without rig_deformers_grp or jnt_org
  • Core: File Drop: Fix paths with quotes and upper-case extensions
  • Shifter: Build Log: Clear the log at the start of every build and keep it when reopening the window
  • Shifter: Custom Step: Groups with many steps scroll smoothly and their last steps are reachable
  • Shifter: Guide: Importing a guide template no longer leaves the last component selected
  • Anim Picker: Fix Load Picker in scenes without namespaces
  • Anim Picker: Fix SVG badge size, default opacity of new vector items and the dead "Toggle handles" entry
  • Anim Picker: Fix the save prompt on close showing in anim mode, and pinned items reporting unsaved changes after a pan or zoom
  • Anim Picker: Fix pasted, duplicated or undone pinned items not staying fixed to the viewport
  • Solvers: Spring nodes no longer step twice on the same frame; Gravity node ground follows the ground_transform plane (Windows only)
  • Animbits: Spring Manager: Fix search filter on PySide6, preset crashes and settings saving
  • Animbits: HumanIK Mapper: Fix Sub IK bake, batch bake order and offsets, and several dialog errors
  • Animbits: Space Recorder: Fix IndexError on longer ranges or more objects; Apply is one undo step