Skip to content

Releases: david-cattermole/mayaMatchMoveSolver

mayaMatchMoveSolver-v0.7.0

14 Mar 04:04

Choose a tag to compare

The v0.7.0 release adds a brand new Camera Solver tool used to solve 3D Camera motion using 2D Markers from scratch.

This is a first version of the new Camera Solver in mmSolver, is implemented as a standalone executable command line tool, separate from Maya. The dedicated tool UI inside Maya will run the executable in the background, allowing the current Maya session to continue while the solve finishes.

The Camera Solver currently only supports static focal length and lens distortion values for all frames in the image sequence. The Camera Solver allows adjustment of the camera's focal length using a number of different adjustment solvers, which is quite robust to finding the optimal focal length with very minimal configuration.

The output quality of the Camera Solver is quite high in our tests - comparable to commercial 3D Tracking and MatchMove software.

Full Changelog: v0.6.1...v0.7.0


What's Changed?

What's Changed? - For Developers

  • Only Maya 2024+ Is supported on Linux.
  • Curve Simplify
    • Add type annotations and type asserts.
    • Fix issue when curve is linear.
  • vcpkg is now used to automatically build the OpenBLAS and SupeSparse libraries on both Windows and Linux.
  • mmlens Rust crate has now builds with LDPK as part of Cargo, not CMake.
  • Enabled MM Renderer by default in CMake scripts.
  • Technical documentation added for the new Camera Solver; see the Overview and Global Optimization pages for details.
  • Add MMSOLVER_USE_MINIMAL_SHELF configuration option; See INSTALL.md for details.
  • Improve Docs - Fix typos, incorrect naming and bad ReST syntax.
  • Add PyRight LSP configuration (for Python Development)
  • Update Rust minimum supported version to v1.87.x.
  • Add working Bash script for building icons (with Inkscape).

Known Problems

  • Only Maya 2020+ is supported on Windows, Maya 2024+ on Linux, due to build complexity, OpenBLAS and OpenColorIO (v2.2.x) dependency.
  • Simplify Animation Curves
    • Fails to load in Maya 2020.
  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.6.1

14 Sep 08:21

Choose a tag to compare

The v0.6.1 release contains a bug fix for the Simplify Animation Curves tool.

Full Changelog: v0.6.0...v0.6.1


What's Changed?

  • Simplify Animation Curves: Simplify Animation Curves - Simplify animation curves in Maya using advanced curve fitting techniques with fit quality metrics.

Known Problems

  • Simplify Animation Curves
    • Fails to load in Maya 2020.
  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, Maya 2022+ on Linux, due to build complexity and OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.6.0

31 Aug 10:09

Choose a tag to compare

The v0.6.0 release contains a major build system overhaul, a new Animation Curve Simplification tool, and significant performance improvements.

Full Changelog: v0.5.8...v0.6.0


What's Changed?

  • New Tool: Simplify Animation Curves - Simplify animation curves in Maya using advanced curve fitting techniques with fit quality metrics.
  • Faster Build Times: Build times reduced ~40% through build system optimisations.
  • Blender Integration Fix: Fixed export tracks from Blender v3.4+ due to API changes in MovieTrackingCamera.principalMovieTrackingCamera.principal_point (#282).
  • Dropped Maya 2020 Support on Linux: Maya versions below 2022 are no longer supported on Linux due to build complexity. Windows still supports Maya 2020+.

What's Changed? - For Developers

  • Major Build System Overhaul:

    • Added universal "make" build scripts for cross-platform consistency.
    • Centralised build configuration and directory management.
    • Vendored key dependencies (Eigen, CMinpack, glog, Ceres Solver) to eliminate external dependency management.
    • Merged mmSolverLibs with mmSolver for simplified build process.
    • Removed support for Maya versions below 2022 on Linux and below 2020 on Windows.
  • New Core Libraries:

    • Added mmoptimise Rust library for curve fitting, replacing "argmin" dependency and reducing binary size.
    • Implemented Dual numbers for Automatic Differentiation, enabling exact derivative calculations.
    • Added curve fitting benchmarks and performance optimisations.
  • New Maya Commands:

    • mmAnimCurveStatistics - Calculate comprehensive statistics on animation curves
    • mmAnimCurveDiffStatistics - Compare statistical differences between animation curve datasets
  • Code Quality Improvements:

    • Removed CubicSpline interpolation (replaced by QuadraticNUBS curves for better performance).
    • Updated curve fitting to use generics with Dual numbers.

Known Problems

  • Simplify Animation Curves
    • Fails to load in Maya 2020.
    • The Load the mmSolver plugin (such as opening the Solver UI) before opening the Simplify Animation Curves UI.
  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, Maya 2022+ on Linux, due to build complexity and OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.8

26 Jul 23:05

Choose a tag to compare

The v0.5.8 release contains fixes for the Solver when solving Maya character rigs.

Full Changelog: v0.5.7...v0.5.8


What's Changed?

  • Drastically improves the solver's performance when solving Maya character rigs.

What's Changed? - For Developers

  • mmSolverAffects
    • Added new "node names" graphMode implementation, which uses DAG paths and is much faster than the existing "normal" method, at the cost of accuracy in some edge cases.
    • Changed the default implementation of the graphMode flag, to the new "node names".

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.7

20 Jul 00:22

Choose a tag to compare

The v0.5.7 release contains fixes for the Solver, and the Ray-Casting tool, as well as disabling AVX/AVX2 CPU Instruction support, to support older hardware (10+ years old).

Full Changelog: v0.5.6...v0.5.7


What's Changed?

  • Fixed Maya crash when a camera has an expression on it's attributes.
    ** Expressions are not supported on cameras - please bake or delete the expressions.
  • Ray-Cast tool - Fix Marker/Bundle mismatch when lens distortion on the camera.

What's Changed? - For Developers

  • Replaced checking macros to give more information about the build information.
  • mmSolverAffects - changed the graphMode flag option "simple", please use "object" instead for the same behaviour.
  • Changed the internals of mmSolverAffects, to avoid errors for edge cases.
  • Internal changes to Animation Curve algorithms.
  • Changed to building with only SSE4.2 instructions - building for machines with AVX/AVX2 has been removed for maximum compatibility with older machines.

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.6

14 Jun 23:12

Choose a tag to compare

The v0.5.6 release introduces a new Viewport Display Presets cycling tool with convenient hotkeys, fixes Qt 6.x compatibility issues for Maya 2025/2026, and includes documentation updates and build system improvements.

Full Changelog: v0.5.5...v0.5.6


What's Changed?

  • New Viewport Display Presets Tool (#277)
    • Added new tool to cycle through viewport display presets with hotkeys (see docs).
    • Forward cycling: ` (backtick) key.
    • Backward cycling: ALT+` (ALT + backtick) key.
    • Tool is accessible from shelves and menus.
  • Maya 2025/2026 Compatibility
    • Fixed issue where windows would get stuck behind main window in Qt 6.x.
    • Added Qt.WindowStaysOnTopHint flag to maintain proper window behavior.
  • Documentation Improvements

What's Changed? - For Developers

  • Build System Improvements
    • Fixed Maya 2019 build on Linux by adding missing 'MPlugArray.h' include.
    • Moved OpenMVG to ./lib/thirdparty/ directory for better organization.
  • Bug Fixes
    • Fixed menu creation issue when multiple dividers (---) are present in menu definitions.

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.5

09 Jun 06:18

Choose a tag to compare

The v0.5.5 release brings major improvements to the Center 2D tool with multi-object and component support, along with build system enhancements for Maya 2025/2026 and several important bug fixes.

Full Changelog: v0.5.4...v0.5.5


What's Changed?

  • Center 2D Tool - Multi-Object and Component Support
    • Added long-awaited ability to center on multiple objects at once.
    • Added support for mesh components (vertex, edge, face) centering.
    • Improved Center 2D tool workflow and functionality.
  • Fixed mmImagePlane2 crash when ImageCache is set to zero.
  • Updated documentation with proper Center 2D Offset image naming.

What's Changed? - For Developers

  • Build System Improvements
    • Added support for Maya 2026 builds.
    • Extracted OpenColorIO source code into build directory for cleaner source tree.
    • Added missing build scripts for Maya 2025/2026.
  • Added "Point from Object Set" node for enhanced Center 2D operations.
  • Improved crash debugging by waiting for log messages to flush before Maya abort.
  • Fixed minor C++ compiler warnings, and removing unneeded code (no change in behaviour).

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.4

06 Jun 13:28

Choose a tag to compare

The v0.5.4 release focused on fixes and improvements for the Solver UI, Camera Solver, and fixes the sliders in the Center 2D Offsets window.

Full Changelog: v0.5.3...v0.5.4


What's Changed?

  • Solver UI
    • Root Frames list removed for cleaner and faster experience.
    • Add tooltips to provide helpful documentation directly in the UI.
  • Fixed Camera Solver quality and improved performance.
  • Fixed Center 2D Offsets window (#279)
    • The connected camera is displayed.
    • The horizontal/vertical sliders work consistently.
    • Added Center 2D Offsets window to menus and documentation page.

What's Changed? - For Developers

  • The mmCameraRelativePose command was fixed - the mapping between markers and bundles was wrong, which caused large issues in Camera Solver.
  • Changed Ceres LMDER solver to automatically switch to sparse matrix solver for large solves improving performance for large solves.
  • Add ./scripts/build_mmsolver_all.bat file to build mmSolver for Linux and Windows in one command.

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.3

26 May 12:18

Choose a tag to compare

The v0.5.3 release adds updated Load Markers UI features (and 3DEqualizer exporter scripts). and a new Ceres Solver backend for testing.

Full Changelog: v0.5.2...v0.5.3


What's Changed?

  • Maya Load Markers - 3DE Points Export as World-Space Bundle Position (#275 )
    • Add User Preference to control the default "Bundle Space" option.
    • Changed default behaviour so that Bundle positions are loaded in world-space by default.
  • Maya Load Markers - Rename Markers/Bundles Option (#274)
    • Add option to give markers (and bundles) a new name.
  • Add Ceres Solver backend (#174)
    • Add User Preference to show "Developer" solver options.
    • Add "Ceres LMDER" solver (similar to "CMinpack LMDER")
    • Add "Ceres Line Search LBGFS" experimental solver.
    • Fixed the solver validation and "affects" logic, to cache edge cases, reduce redundant evaluations and improve performance.
  • 3DEqualizer Copy/Export Track Markers - Fixed not exporting last frame of camera data.

What's Changed? - For Developers

  • Minor change to Docker documentation - please run provided Dockerfiles with "bash" argument.
  • Fixed Google "glog" symbol linking on Linux.
    • Add "MMSOLVER_USE_GLOG" option.
  • Fixed and refined the entire test suite to validate the solver and tools.
    • All tests pass.
    • Updated test data.
    • The Garage camera solver test has been skipped do to the excessive time taken to complete the solve (30 to 60 mins).
  • Removed use of C-style "assert" macro, with custom macro, and add runtime assertions (even in release mode).
  • Removed clang-format used in GitHub actions (continuous integration) - it was unneeded and was always failing and provided no benefit.
  • Improved build-system for overriding builds using the BUILD_DIR_BASE environment variable.
  • Auto-generate compile_commands.json file for clang-tidy usage.
  • Embedded build-info (time/date and git commit/branch, etc) into the plug-in executable, to provide better crash information for debugging.
  • Add visual Python Profile build instructions (see tests/profile/README.md file for details).
  • Rename argument/parameter "epsilon1" to "function_tolerance".
  • Rename argument/parameter "epsilon2" to "parameter_tolerance".
  • Rename argument/parameter "epsilon3" to "gradient_tolerance".
  • Enable AVX and AVX2 instructions for OpenMVG.
  • Include source code archives for OpenColorIO-2.2.1 and OpenColorIO-2.3.2, to avoid needing to download archives.
  • 3Dequalizer Copy Tracks (mmSolver) and 3Dequalizer Export Tracks (mmSolver) tools;
    • Use Python with context to for opening/writing files.

Known Problems

  • MM Renderer - Rotate Manipulator Obscures Silhouette (#276)
  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.

mayaMatchMoveSolver-v0.5.2

05 Jan 10:43

Choose a tag to compare

The v0.5.2 release fixes a solver bug Maya 2024+ on Linux (#273), adds 3DEqualizer Anamorphic Degree 6 lens distortion model support (#272), and adds a Attribute Curve Filter Pops tool.

Full Changelog: v0.5.1...v0.5.2


What's Changed?

What's Changed? - For Developers

  • Refactoring of how to add Lens Distortion models, with README file.
  • Added mmAnimCurveFilterPops command.
  • Build system updates
    • Update LDPK from 2.8 to 2.12.0.

Known Problems

  • Docking the Solver UI is no longer supported due to a bug in Maya 2025 (#267)
  • Only Maya 2020+ is supported on Windows, due to the OpenColorIO (v2.2.x) dependency.
  • Markers are not distorted by Lens Distortion in Maya 2023.0, and 2023.1.
    • Please upgrade to (at least) Maya 2023.2.
  • MM Renderer incorrectly displays selection in Maya 2022.0.
    • Please upgrade to (at least) Maya 2022.1.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.

Please report any bugs or suggestions you find in this release here and clearly state the version of mmSolver you are testing.