Skip to content

mayaMatchMoveSolver-v0.4.0.alpha7

Pre-release
Pre-release
Compare
Choose a tag to compare
@david-cattermole david-cattermole released this 30 Aug 13:07
· 1436 commits to develop since this release

DO NOT USE THIS IN PRODUCTION!!!
This version of mmSolver is for testing only!

This is a feature incomplete release of the upcoming v0.4.0 release of mmSolver.

The alpha 7 release brings the ability to solve Lens Distortion with straight 2D Lines in an image, and the ability to solve a camera from scratch, like other 3D tracking software, and a lot more.


Features / Fixes / Changes

The main changes in this release:

  • Add Camera Solver to the Python API (mmSolver.api.SolverCamera()), and Solver UI integration.
  • Add Load Lens tool to load lens distortion values from a Nuke .nk file.
  • Add Copy/Paste Marker tool.
  • Add Save Marker tool.
  • Add Toggle Object Motion Path tool.
  • Add Import Tracks MM Solver tool, for 3DEqualizer.
  • Add Set Camera Origin Frame tool.
  • Add boolean to enable "middle line" for mmLineShape node.
  • Add evaluations per-second ("evals/secs") at the end of each solve in the Output Window.
  • Add dedicated Z-Depth Tools:
    • Add Camera/Object Scale Adjust tool (by @bpatchasaheb)
    • Improve Screen-Space Rig Bake tool (by @bpatchasaheb)
    • Add Create World Controllers tool (a no-UI version of "Create Controllers")

Fixes / Changes:

  • Solver UI
    • Hide "Per-Frame" from the Input Objects panel.
    • Remove Edit menu.
    • Improve spacing of Basic and Standard tab widgets.
    • Add Solve Focal Length toggle.
    • Add Solve Lens Distortion toggle.
    • First found collection is treated as active collection.
    • Add button adds Lines when Camera is selected.
  • Calibrate Camera tool can use more than 2 Markers to define lines, with lens distortion.
  • Line set up will add Bundle nodes along the "best line fit" of the 2D markers.
  • Fix Marker icon, so it's a consistent screen-space size at all times.
  • Fix PFTrack .2dt marker import.
  • Change Bundle shape so they don't draw on-top of all objects when selected.
  • Improve "Triangulate Bundle" tool.
  • Do not add the current frame list to the Root/User Frame List in the Solver UI.
  • Do not draw the node name for Bundle shapes by default.
  • Clean up ImagePlane Attribute Editor UI.
  • Set Attribute Details UI - Hide Smoothness/Stiffness.
  • Smooth Keyframes UI - Remove up/down arrows from "Width" widget.
  • Display Marker and Attribute Count to the solver output (in the Output Window/Terminal).
  • Improve Marker, Bundle and Line tool icons with letter to indicate the type of tools.
  • Re-arrange menus and shelf icons.
  • Lots more...

Developer (low-level) changes:

  • Build support for Maya 2023.
  • Add README.md to the ./python directory to explain parts of the code and the structure.
  • Add best practices to the ./DEVELOPER.md file.
  • Use Clang Tidy to reformat C++.
  • Use Black to reformat Python code.
  • Set up GitHub Actions to automatically check and enforce C++ and Python format.
  • Update tests and test files.
  • Move a lot of the extra directories at the project root into a "./share" directory.
  • Add Commands and Python API:
    • Add mmBestFitLine node.
    • Add mmLinePointIntersect node.
    • Add mmConvertImage command, to convert image files to Maya IFF files.
    • Add mmCameraRelativePose command.
    • Add mmCameraPoseFromPoints command.
    • Add mmSolver.utils.imageseq to the Python API.
  • Lots more...

Known Problems

  • Markers are not distorted by Lens Distortion in Maya 2023.
  • There are lens distortion update issues in the Maya viewport with Markers and Lines node types.
  • The Solver acts strangely and doesn't solve correctly when the camera's "Film Fit" is set to anything other than "Horizontal".
  • Compatibility with Maya scenes with mmSolver v0.3.x nodes may not work as expected - please report issues.
  • The Viewport 2 "MM Renderer"
    • Aliasing problems and does not allow changing the "mode" of the viewport.
    • The mmImagePlaneShape does not work the same as Maya native image planes with the useBackground/hold out options in Viewport 2.0.
  • Solving Lens Distortion does not act correctly in some cases - this is being actively developed and improved - please report bugs.

Load mmSolver in Maya 2022

To load mmSolver on Maya 2022 you must run the following MEL command:

mmsolver_load

This will load the mmSolver plug-in, and allow you to automatically load the mmSolver plug-in and will ensure it is loaded each time Maya is started.

If you wish to unload mmSolver so it will not be loaded at Maya start-up run the following MEL command:

mmsolver_unload

These new commands were added to work-around the new Maya 2022+ Security preferences and ensure mmSolver will be loaded when it's needed.

Additionally the Python module mmSolver.startup was added, and allows pipelines to manually load mmSolver with the Python commands:

import mmSolver.startup
mmSolver.startup.mmsolver_startup()

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