Releases: david-cattermole/mayaMatchMoveSolver
mayaMatchMoveSolver-v0.3.4
Release v0.3.4 contains the new Attribute Details feature, improvements, and bug fixes.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Special thanks to Silvio and Damian for encouragement and feedback.
Below is a list of the new features, changes and bug fixes in v0.3.4.
New Features
- #65 Added Set Attribute Details UI
- Give a minimum and/or maximum value, for each attribute.
- Give a smoothness and/or stiffness variance, for each attribute.
- In-depth documentation for Attribute Details is here.
- #86 Added common Output Attribute modification tools to a Solver UI right-click menu.
- #29 Added icons for Markers, Bundles and Camera input objects have been added to the Solver UI.
- #31 The Solver UI will display coloured icons next to the attribute, for the type of attribute (translate, rotate, scale, camera, etc).
- #136 mmSolver UIs will now raise to the top when the shelf button is pressed.
- Added automatic Euler Filter after solving; a Euler Filter is applied to all rotation attribute keyframes.
Changes and Improvements
- Reformatted the default solver print-out mechanism.
- On Microsoft Windows, mmSolver will now print out solving information to the Output Window.
- On Linux, the terminal is used (same as previous versions of mmSolver).
- #28 The mmSolver shelf icons have been improved.
- #139 Smooth Keyframes tool smoothly blends between selected and non-selected keyframes.
- #139 Removed the "blend width" from the Smooth Keyframes tool - it is unneeded.
- #83 Improved the Solver UI selection; nodes in the Solver UI will now be selected from the Maya Outliner.
- #137 Center 2D tool will now load the mmSolver plug-in when first used.
- Added new default Hotkeys for mmSolver, including Screen-Z Manipulator, Parenting/Unparenting, and hiding/showing viewport objects.
- Improved Documentation for many tools, including Screen Space Motion Trail tool.
- Minor re-arrangement of mmSolver shelf and menus.
- Improvements to performance and stability when using Maya's Parallel Rig Evaluation mode and evaluating across time.
Bug Fixes
- #143 Error fixed when using the Verbose logging mode.
- #140 Fixed Convert Marker when using animated focal lengths tool and improved performance.
- Fixed bug in
Create Controller
tool when multiple nodes were selected at once; the constraints were connected to the wrong node names. - Default Solver "Lineup" and "Animation" iterations were incorrect set to 1 - now fixed.
- Will not error when trying to disable/enable the Viewport when Viewport 2.0 is not available due to hardware limitations.
- Fix bugs when trying to solve with only one root frame or zero root frames.
- Fixed
Duplicate Marker
tool's locked attribute states as they are copied to the new Markers. - Fixed
Load Marker
tool "Load Bundle Positions" checkbox value was not used when using "replace" mode. - Fixed bug caused by unneeded Parent Inverse Matrix calculation in
mmSolver.utils.transform
module. - Fixed
Create / Remove Controller
tool, rotate pivots are supported for controlled objects.
New Python Features
- Added
mmSolver.utils.kalmanfilter
for a 1D Kalman Filter. - Added
mmSolver.utils.tools
to group general tool utilities; see this. - Added
mmSolver.api.get_marker_group_above_node
function; see this. - Added
mmSolver.utils.animcurve.euler_filter_plug
; see this. - Added new
VERBOSE
logging level; adds lots of information, normally not needed. - #142 Added better documentation for the Solver classes; see here.
Deprecated
- get/set min and max values functions on the
mmSolver.api.Attribute
class is now deprecated. See documentation for details. - Deleted duplicate and unused
mmSolver.tools.parenttransform
tool.
Known Issues
- Solver engine can become slow with many attributes.
- New v0.3.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the
Solver UI > File > New Collection
menu item. - The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. Users may wish to turn this feature off in the
Solver UI > Edit > Refresh Viewport
check box. - The test suite fails on 3 different solver tests, due to a deviation that is too high, this is intentional and will be fixed in a future version.
- The test suite fails to run on Maya 2018 with
mayapy
, the cause is unknown. - The
mmSolverType
command raises an error with certain flags on Maya 2016 for an unknown reason. This problem is specific to Maya 2016, the same command works on Maya 2017+.
mayaMatchMoveSolver-v0.3.3
Release v0.3.3 is a bug fix release fixing the Convert to Markers tool.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Below is a list of the changes and bug fixes in v0.3.3.
Changes
- Python 2.x is now explicit in the build process for mmSolver, before the build process assumed the user only has Python 2.x installed. Python 2.7.x is recommended.
Bug Fixes
- #134 - Convert to Markers tool had error (released in v0.3.2) that caused the tool to stop working.
- Bug fixed in
mmSolver/ui/uimodel.py
that stopped from setting data with theItemModel
class. - Fixed a rare naming bug when a name was converted into a valid Maya name.
Known Issues
- Solver engine can become slow with many attributes.
- New v0.3.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the
Solver UI > File > New Collection
menu item. - The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. Users may wish to turn this feature off in the
Solver UI > Edit > Refresh Viewport
check box. - The test suite fails on 3 different solver tests, due to a deviation that is too high, this is intentional and will be fixed in a future version.
- The test suite fails to run on Maya 2018 with
mayapy
, the cause is unknown. - The
mmSolverType
command raises an error with certain flags on Maya 2016 for an unknown reason. This problem is specific to Maya 2016, the same command works on Maya 2017+.
mayaMatchMoveSolver-v0.3.2
Release v0.3.2 is a bug fix release, with some new features focused on improving loading 2D data into mmSolver.
The Marker loading workflow has been improved, this release includes the ability to use non-uniform overscan (both width and height values), as well as a new feature to avoid the need to manually enter overscan values on a Marker Group node at all. To get the latest features for the Load Marker tool, be sure to upgrade your 3DEqualizer export scripts.
This release also improves the documentation page with updated screen shots and documentation for more tools.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Below is a list of some of the new features, changes and bugs that are fixed in v0.3.2.
New features
- #133 - Added a new tool to visualise the screen-space position of any Maya transform node, across time.
- #131 - The Load Markers tool can now automatically compensate for any overscan values used in the Maya camera. The new feature requires the 3DEqualizer project used for 2D tracking to be set to the correct field of view, otherwise it is advised to turn "Use Embedded Overscan" off.
- #127 - If your workflow requires non-uniform overscan values (for both width and height), you can now set these on the Marker Group node. Note: you do not need to set overscan values if using the "Use Embedded Overscan" feature.
Changes
- Moved the Copy Camera to Clipboard tool into it's own sub-menu group in the mmSolver shelf/menu.
Bug Fixes
- #125 - Fixes the Create/Remove Controller, and Re-Parent tools; the tools did not behave as expected in previous versions.
- #129 - Fixed the 3DEqualizer Paste Camera tool, when re-opening the UI a second time in 3DE.
- #130 - Fixed the use of hidden meshes for Ray-Casting, when the parent transform of a mesh node is hidden.
- #132 - Converting a Maya transform node into a Marker is now faster, and does not error when multiple transform nodes are selected.
- #104 - Minor scripting incompatibilities with v0.2.x have been improved (however there are still changes between v0.2.x and v0.3.x which are not fixed, and may not be fixed).
Known Issues
- Solver engine can become slow with many attributes.
- New v0.3.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the
Solver UI > File > New Collection
menu item. - The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. Users may wish to turn this feature off in the
Solver UI > Edit > Refresh Viewport
check box. - The test suite fails on 3 different solver tests, due to a deviation that is too high, this is intentional and will be fixed in a future version.
- The test suite fails to run on Maya 2018 with
mayapy
, the cause is unknown. - The
mmSolverType
command raises an error with certain flags on Maya 2016 for an unknown reason. This problem is specific to Maya 2016, the same command works on Maya 2017+.
mayaMatchMoveSolver-v0.3.1
Release v0.3.1 is a bug fix release, with a few new features aimed at improving Marker copy/pasting from 3DEqualizer and copying Maya camera data into 3DEqualizer.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Below is a list of some of the new features, changes and bugs that are fixed in v0.3.0.
New features
-
#38 - Added ability to load distorted and undistorted 2D Data with UV Track format (v3).
-
#37 - Updated copy/export Tracks 3DEqualizer tool with compatibility for #38.
-
#15 - Added a default Hotkey Set for Maya 2016+, and added a Hotkey Set Switcher to the shelf. The module (.mod) file now contains a new environment variable
MMSOLVER_CREATE_HOTKEY_SET
, to control the auto-creation of this hotkey-set. Hotkeys:a
key = Hold down and left-mouse-click to activate the mmSolver Marking Menu.c
key = Center 2D on Selectedz
key = Zoom / Pan tool (the same one with Maya)m
key = Swap Marker / Bundle Selectionn
key = Select both Markers and Bundles
-
#105 - Added "Load Mode" to Load Markers tool, allowing to create new markers, or replace selected Markers with 2D data from 3DEqualizer.
-
#126 - Added Copy Camera tool, in Maya, and a Paste tool in 3DEqualizer.
-
#125 - Adjusted the transform utility module for better transform value decomposing and querying, for control over rotation order.
-
Added 'Marker/Bundle rename with metadata', to auto-rename nodes using custom attributes stored on the nodes.
Minor Changes
- Added utility function to get image planes.
- Changed Solver UI to show Frame Deviation by default.
Bug Fixes
- Changed Smooth Keyframes tool to undo all keyframes in a single CTRL+Z.
- Get image size from coverage attr of image plane, not camera.
- Add missing BUILD_* flags to cmake, to allow fast copying of Python files during development.
- Make usage of Qt.py to be compatible with v1.1.0.b7, for Solver UI.
mmSolver.utils.camera.get_camera
incorrectly considered a default primitive sphere to be camera.
Known Issues
- Solver engine can become slow with many attributes.
- New v0.3.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the
Solver UI > File > New Collection
menu item. - The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. Users may wish to turn this feature off in the
Solver UI > Edit > Refresh Viewport
check box. - The test suite fails on 3 different solver tests, due to a deviation that is too high, this is intentional.
- The test suite fails to run on Maya 2018 with
mayapy
, the cause is unknown. - The
mmSolverType
command raises an error with certain flags on Maya 2016 for an unknown reason. This problem is specific to Maya 2016, the same command works on Maya 2017+.
mayaMatchMoveSolver-v0.3.0
This release v0.3.0 adds many more features, offers a number of new utilities for developers writing tools, offers performance improvements and increased configuration options.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Below is a list of some of the new features, changes and bugs that are fixed in v0.3.0.
Solver UI - New features
- Added detailed counts for Object, Attribute and Solver sections of the Solver UI.
- Added "Validate" button to test if the Solver can be run, and number of Deviation, Parameters and Frames can be used. Use the
Solver UI > Edit > Auto-Update Solver Validation
toggle to trigger the validation automatically (off by default). - Automatically set Marker and Bundle outliner icons (when the Solver UI loads), for Marker/Bundle locator nodes.
- #18 - Updated UI to increase performance when adding new objects to the Solver UI
- #87 - Added ANM, STC and LCK buttons to the Attributes in the Solver UI.
- #57 - Added Basic, Standard and Legacy Solver Settings, with Root frames, and check boxes for solver options.
- #56 - Changed Solver UI to update the Progress Bar and status line while a solve is in progress.
- Removed "Tools" menu from Solver UI (replaced with Maya "mmSolver" menu)
- Window size is stored and remembered for all UIs in mmSolver. The files are saved into
~/.mmSolver/*.ui
.
Tools - New features
- Added re-parenting tools ("Parent under Node" and "Unparent to World") similar to Maya's standard Parent and Unparent tools, except these tools will maintain the world-space position while changing parents. The transform values are computed only on keyframed frames (sparse), not baked each frame.
- Added Create/Remove Controller tool, used to create a new locator from a character rig control and solve with it (combined with the re-parenting tools, this is a very powerful tool).
- Added "Triangulate Bundle" tool to automatically calculate the 3D position of a bundle using a Marker and an animated camera.
- Added "Deform Marker" tool, a simple way to add a Maya Animation Layer, modify the Marker's position, then bake the offset down and remove the Maya Animation Layer.
- #14 - Added 'Attach Bundle to Curve' tool, to solve a single attribute and move the bundle along a NURBS curve.
- #103 - Added 'Navigate Root Frames' tool, for stepping between root frames.
- #75 - Added tool to move selected Markers to a screen position.
- #107 - Added 'Screen Space Transform Bake' tool, to allow solving transforms in screen space.
- #45 - Added Undo/Redo Scene (with UI disabled); Solver UI > Edit > Undo (without UI update)
- #12 - Added Marker "Show/Hide Deviation Curves" tool, to display the Deviation on each Marker, from the last solve. Added Deviation to Marker transform node (visible in the Maya Channel Box).
- #10 - Added UI for setting Smooth Keyframes options, options are saved with the Maya scene.
- #99 - Changed the Load Marker tool to only create keyframes when an enable or weight value changes.
- #16 - Added a 'mmSolver' menu (displayed by default) to the Maya window.
- Added an alternate 'Minimal Shelf' configuration file, ideal for embedding into an existing script that creates Maya Shelves.
- #115 - Added Pop-Up menus for Maya Shelf buttons (controlled with a configuration file).
- Added "System Information" and "About" to Solver UI, to display information about mmSolver and the current Maya environment (for debugging).
Tools - Bug fixes
- #117 - Bug fix: Center 2D on Selected fixed when no nodes are selected.
- #109 - Bug fix: Marker-Bundle selection toggle fixed.
- #108 - Bug fix: Rename Marker/Bundles fixed.
- Bug fix: The Marker Group 'overscan' attribute made Markers move away from image centre, this behavour has been reversed for newly created Marker Group nodes, the 'overscan' attribute now scales the Markers toward the image centre.
- Changed the default Marker Group depth to 10.0 units, to reduce the possibility of Markers being hidden by the near-clip plane of a camera.
Solving - New features
- #95 - Added check-boxes for showing Polygons or ImagePlanes in the viewport while solving;
Solver UI > View > Display Image Planes
andSolver UI > View > Display Meshes
. - #54 and #116 - Bug fix: Added automatic value offset for all rotation attribute types.
- #102 - Set only the objects that are being changed to be 'dgdirty'ed.
- #66 - Added ability to use a "Robust Loss Function", using
maya.cmds.mmSolver
command (it is currently disabled by default). Options include "trivial" (no change), 'soft L1' and 'cauchy'. - #64 - Added Min/Max values for each attribute being solved ('Box Constraints')
- #73 - Added
maya.cmds.mmSolver
flag to compile and return details without triggering a solve.
Solver - Bug fixes
- Bug fix; Solver deviation calculation has been improved, resulting in accurate deviation calculations.
- Bug fix; (internal) Solver settings have been tweaked for improved performance and quality, resulting in lower deviation without needing to press "Solve" multiple times (in example scenes).
- Turned off "Isolate Objects" by default, because it took too long an didn't seem to improve the Solve speed or quality.
API Changes
- #123 - Bug Fix: Camera transforms are now allowed to be custom plug-ins.
- #20 -
mmSolver.api.Marker
andmmSolver.api.Bundle
classes now use consistent keyword arguments. (backwards compatibility is maintained, but the older usage is deprecated) - #72 - Added parallel 'Validation' compiling (using #73). New many functions and objects to allow executing. This is NOT 100% backwards compatible.
- Added ExecuteOptions object, for all options for Executing a solve.
- Deprecated
mmSolver.tools.selection
functions, and moved them into variousmmSolver.utils
modules.
Plug-in / Utilities - New features
- Added many utilities to the
mmSolver.utils
sub-package, many moved from themmSolver.api
. - #17 - Added configuration utility module.
- #74 - Added plug-in command perform 3D-to-2D reprojections.
- #71 - Added License information to each file header in the project.
- #113 - Added
mmSolver.utils.transform
utility module, to allow batch querying of transform node matrices (used for baking tools).
Build system
- Added example code to run the test suite via the Maya Script Editor (in GUI mode), see DEVELOPER.md instructions.
- Added build to build individual components, for faster build times, see tests/README.md instructions.
Backwards Compatibility
An effort has been made to make mmSolver backwards compatible with the v0.2.x series, however 100% compatibility has not been tested.
If you have used the API or specific tool functions, you will likely need to change your code a little to be compatible with v0.3.0. If you are a user
For users, the biggest backwards incompatible change is the Marker Group 'overscan' attribute is now inversed. In previous versions, for an iamge overscan of 1.1, a value of 0.91 was required. In v0.3.0+, the value should be set correctly at 1.1.
Known Issues
- Solver engine can become slow with many attributes.
- New v0.3.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the
Solver UI > File > New Collection
menu item. - The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. Users may wish to turn this feature off in the
Solver UI > Edit > Refresh Viewport
check box. - The test suite fails on 3 different solver tests, due to a deviation that is too high, this is intentional.
- The test suite fails to run on Maya 2018 with
mayapy
, the cause is unknown. - The
mmSolverType
command raises an error with certain flags on Maya 2016 for an unknown reason. This problem is specific to Maya 2016, the same command works on Maya 2017+.
mayaMatchMoveSolver-v0.2.3
This is a bug fix release addressing one issue in v0.2.2 release.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Bug fixes
- #101; Fixed the Solver right-click menu tools; "Run Solve" and "Run Solve (Current Frame)".
Known issues
- New v0.2.x default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the Solver UI "File > New Collection" menu item.
- Solver engine can become slow with many attributes.
- The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. The root cause is being investigated.
- The Solver does not find the absolute minimum and sometimes requires pressing "solve" multiple times to get a minimum error.
mayaMatchMoveSolver-v0.2.2
This is a bug fix release addressing issues in v0.2.1 and adding some helpful user features.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
New
- #93; Allow users to press the Escape key (or press the "Solve" button again) to cancel a running solve.
Changes and Improvements
- #10 Smooth Keyframes tool
- Tool now blends between selected and unselected keyframes.
- Tool uses animCurve pre/post infinity and does not use first/last keyframe of curve.
- #94; Added "Solver UI > Tools > Force DG Update" checkbox (off by default), to speed up solves.
Bug fixes
- Fixed solver incorrectly returned success, when the solver may have failed.
- #60; Fixed incorrect calculation of average error (for debug information output).
- #99; Loaded Markers remove excess keyframes for the weight attribute (which is usually static).
- #98; Lock the Marker Shear attributes, so they cannot accidentally be changed.
- #97; Lock/Unlock the Marker weight attribute consistently with enable attribute.
Known issues
- New v0.2.x default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the Solver UI "File > New Collection" menu item.
- Solver engine can become slow with many attributes.
- The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. The root cause is being investigated.
- The Solver does not find the absolute minimum and sometimes requires pressing "solve" multiple times to get a minimum error.
For Developers
- #79; The CMake script now automatically configures Sphinx documentation, Python module
mmSolver.constant
and C++ Plug-in version numbers, and project names (allows querying version number and build options for project). - #60; Improved debug output generation and created a helper script to convert logs into graphs.
- #88; Added backwards compatibility support for Qt.py/1.1.0-b7 (and continues to work with Qt.py/1.1.0)
- Removed generated ui_*.py files from the git repo.
mayaMatchMoveSolver-v0.2.1
This is a bug fix release addressing a number of issues in v0.2.0. A small number of minor features were also added. See the below list.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Note: (Changed in v0.2.1 compared to v0.2.0) The per-compiled archives include Qt.py 1.1.0. If you already have Qt.py installed, remove the previous version.
New
- Added SynthEyes exporter script (see INSTALL.md for installation details); #46.
- Added Toggle Marker Lock State tool.
- Right-click menu for Solver UI shelf icon, allowing to run the solver without opening the Solver UI.
Changes
- Opening a UI that is already open will bring focus to the window.
Bug fixes and Improvements
- Fixed #78; Display of Solver Error value; The displayed solver error value was rounded to the nearest integer.
- Fixed #49; Solver UI opening multiple windows. Only one Solver UI window will be created.
- Fixed #60; Debug Logs being written into the home directory.
- Fixed #84; Maya selection being changed when the Solver UI receives focus.
- Fixed #90; Smooth Keyframes tool was incorrectly smoothing negative numbers.
- Fixed #85; Clashing node names created by Marker/Bundle Rename tool.
- Fixed #81; The weight and enable Marker attribute keyframes were not shown in the Timeline.
- Fixed #89; Marker Bundle node selection toggling is now more consistent when other objects are also selected.
- Fixed #82; Ray-Cast Markers tool, it would raycast behind the camera.
- Fixed a small problem reading malformed 3DEqualizer track .txt files.
- Improved #88; Better Qt integration for PyQt and PySide.
- Repeatedly clicking "Center 2D" tool will not try to reload mmSolver (performance bug).
- Lock Bundle transform "Shear" attributes to avoid strange values being added.
Known issues
- New v0.2.x default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the Solver UI "File > New Collection" menu item.
- Solver engine can become slow with many attributes.
- The Maya viewport is refreshed during solving to force Maya to evaluate all nodes in the solve. This causes slower performance (e.g. 6 seconds verses 30 seconds), but ensures accurate solver results. The root cause is being investigated.
- The Solver does not find the absolute minimum and sometimes requires pressing "solve" multiple times to get a minimum error.
For Developers
- Updated to Qt.py v1.1.0; for Qt.QtCompat.warpInstance usage; #88.
- Preferred Qt binding changed to PySide/PySide2 over PyQt.
- Started adding support for nicer printing of API classes (Marker and Bundle are currently added); #19.
- Changed an occurrence of "nullptr" to "NULL" for c++0x compatibility (for gcc 4.4.7 / CentOS 6.x).
- Progress made on #60; turn on debug mode with "MMSOLVER_DEBUG = 1" for solver testing.
- Configuration environment variable MMSOLVER_CONFIG_DIR added, but not currently used (added prematurely for #17).
mayaMatchMoveSolver-v0.2.0
This release uses a new solver algorithm, and adds many new tools and enhancements for working with mmSolver. We have included support for Maya 2018 on Linux and Windows. Maya 2019 support is provided, but is not well tested.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Note: The per-compiled archives include Qt.py 0.6.9. If you already have Qt.py installed, remove the previous version.
New
- CMinpack library is now used as the default optimisation solver.
- Ray-Cast Marker
- Smooth Keyframes
- Channel Sensitivity
- Rename Marker/Bundle
- Screen-Z Manipulator
- Toggle Bundle Lock State
- Average Marker
- Duplicate Marker
- Hotkey-able Python functions to start solves without opening the Solver UI.
- .... and many more.
Changes
- mmSolver shelf buttons now have right-click menus.
- Solve results are printed in the Solver UI after a solve has completed.
- "Refresh Viewport" is turned on by default, and is recommended to be turned on, especially for per-frame solves. "Refresh Viewport" now only shows the Markers, Bundles and Cameras that are being solved in the scene. This results in better solver stability
- Updated documentation for better install instructions.
Bug fixes and Improvements
- Center on Selected now centres correctly without needing the Render Globals to be changed.
- Adding and changing many Attributes has improved performance in the Solver UI.
- A number of Solver UI bugs.
- ... many other bug fixes (too many to list here).
Known issues
- New v0.2.0 default values will not be used until a new Collection is created. Delete your previous Collection and create a new Collection using the Solver UI "File > New Collection" menu item.
- Multiple Solver UI windows can be created - this is not intentional. Only one Solver UI window should exist at once. Make sure to close all except one Solver UI window.
- Solver engine can become slow with many attributes.
- The Solver does not find the absolute minimum and sometimes requires pressing "solve" multiple times to get a minimum.
Deprecated
- Aim at Camera tool has been replaced by Screen-Z Manipulator.
For Developers
- Loading the mmSolver shelf is optional. Once loading the mmSolver plug-in the shelf is automatically created.
- The build system (for developers) now uses simple BAT/Bash scripts to compile dependencies.
- Running CMake will compile UI files and build Sphinx documentation.
- Updated BUILD.md document with simple build instructions.
- Qt.py is included with mmSolver, for ease of installation. This can be disabled with the installed module (.mod) file.
mayaMatchMoveSolver-v0.1.1
This is a bug-fix version and is forwards compatible with release v0.1.1.
Bug fixes and improvements:
- Bug fix; "Unlink Markers" now correctly unlinks 1 selected marker.
- Bug fix; 3DEqualizer tools now correctly handle points outside camera FOV.
- Bug fix; When loading Markers from .uv files, skip over Markers with no 2D data.
- Bug fix; Make sure Markers are disabled after the 2D data is empty.
- Bug fix; Gracefully warn the user if something in the OS Clipboard would harm opening the Load Marker UI.
- Bug fix; Solver UI refreshes during solve, causing solves to be much slower.
- Bug fix: When opening the Solver UI for the first time in new scene, don't show the data node in the Attribute Editor.
- Bug fix: Rapidly left-clicking the Shelf Buttons will not slow down any more (as seen by clicking the Toggle Marker / Bundle tool).
- Print helpful messages during build to help users debug problems (if documentation are not built, tell the user when it errors).
- Updated BUILD.md document.
- Updated documentation for better install instructions.
Known issues:
- Maya does not update the DG network during solving causing badly solved attribute results and high error (deviation).
- Solver engine can become slow with many attributes.
- The "Center 2D on Selected" tool is not working as expected (it's not centering).
- Workaround: Set the Maya Render Settings to the same resolution as your image plane resolution, and set the camera "Near Clipping Plane" attribute to 0.1.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
Note: Please be sure to download and install Qt.py 0.6.9 to use the GUI tools.