Skip to content

mayaMatchMoveSolver-v0.4.0.alpha4

Pre-release
Pre-release
Compare
Choose a tag to compare
@david-cattermole david-cattermole released this 10 Apr 10:54
· 1675 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 and buggy release of the upcoming v0.4.0 release of mmSolver.

This release offers substantial performance increases (between 2 to 20 times faster!) with the "MM Scene Graph" mode, and solving of Lens Distortion (static and animated) attributes also supported.

Visualizing Lens Distortion is also easier than alpha3, with a new Camera Tools > Create Image Plane tool which includes a nicer Attribute Editor UI for the (new) mmImagePlaneTransform node.

The Standard solver's "Root Frames" feature has finally been implemented as originally envisioned. "User Frames" and "Root Frames" are available with an automatic calculation of the needed in-between frames for a stable solve with the given Markers. the options to compute the root frames are exposed to adjust the speed/accuracy of the solve. The defaults should provide a good solve "out of the box", without users needing to add user frames.


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()

Features / Changes

The main changes in this release:

  • Parity of solve results with both MM Scene Graph and Maya DAG.
    • Multi-frame static/animated attribute solving
    • Lens distortion
    • Markers enabling/disabling during frame range in single solve.
  • MM Scene Graph evaluation performance significantly improved between 2 and 20 times faster.
  • (#106) Solving and evaluation lens distortion is now possible in both "Maya DAG" and "MM Scene Graph" modes.
  • (#173) The Camera Tools > Create Image Plane tool creates a setup with an Attribute Editor image sequence and browse button.
  • (#239) Support for loading PFTrack .2dt/.txt files with the Load Markers tool (ported from v0.3.16 release).
  • User and Root frames calculation has been enhanced to provide better solve stability by default without as much user input.

Developer (low-level) changes:

  • The src/mmSolver/adjust/* file have been split into smaller files (avoiding very high line count), and a README file added.
  • More tests for MM Scene Graph/Maya DAG (to see differences)
  • Stability improved for the MM Scene Graph library when solving multi-frame solves.
  • Windows build scripts updated to exit as soon as a failure is detected.
  • Attribute solver "delta" values can be calculated (internally) with different precision for different attribute types.
  • "mmSolver.utils.nodeaffects" module supports mmLensModel nodes.
  • Add attribute min/max values for mmLensModel3deClassic node - adds a slider to the AE, and provides better solver stability.
  • (17abb6f) Fixed bug in function mmSolver.utils.camera.get_image_plane_shapes_from_camera().
  • Support for C++ mmSolver::Attr class to adjust non-DAG nodes (such as lens distortion nodes).
  • Change spacing of UI components of Solver UI.
  • Print attribute names when mmSolver finishes and "verbose" flag is enabled.
  • Upgrade CXX to v1.0.66 (no change in functionality for mmSolver).
  • Make sure calculated lens undistortion that produce NaN will not affect Markers/deformer/transforms.
  • (41338c1) Fix MM Scene Graph bug when non-default near-clipping value was used for a camera node.
  • (2eb31fc) Fix MM Scene Graph evaluation of bundle/markers, when Markers disable/enable during solve.
  • Better concurrent build support from the same source directory:
    • Build scripts generate .ui -> .py files out of the source directory
    • Build scripts generate .rcc files of the source directory.
  • Changed default CMake generator to Ninja (on Windows) https://ninja-build.org/
  • ... other bug fixes and improvements to the build system experience.

Known Problems

  • If MM Scene Graph detects an incompatible solve it will error, but will result in a broken Maya session (restart Maya to fix the issue).
    • This will be addressed in the next alpha release.
  • 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" has aliasing problems and does not allow changing the "mode" of the viewport.
  • Marker shape nodes change size when the marker depth or camera focal length is adjusted.
  • "Live" image plane is a mesh type:
    • The image plane will be hidden when mesh geometry is hidden.
    • The image plane displays a wireframe when "Wireframe on Shaded" is enabled.

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