mayaMatchMoveSolver-v0.3.10
david-cattermole
released this
22 Nov 15:30
·
2674 commits
to master
since this release
Release v0.3.10 fixes a node evaluation problem when using complex rigs, and deforming geometry with rivets.
Download the archive file for your operating system and Maya version, and follow the INSTALL.md instructions.
New Features
- (#176) The "Evaluate Complex Node Graphs" check box was added to the Solver UI Standard and Basic tabs.
- The new check box, when enabled, will change the internal evaluation method to help solve "complex" node networks (such as Mesh Rivets which have cyclical node connection networks).
Performance numbers for a test scene:
Maya 2018 v0.3.10 - avg deviation 2.27px | time 334.400sec - Eval Complex Graphs=OFF
Maya 2019 v0.3.10 - avg deviation 2.27px | time 304.046sec - Eval Complex Graphs=OFF
Maya 2018 v0.3.10 - avg deviation 2.27px | time 870.519sec - Eval Complex Graphs=ON
Maya 2019 v0.3.10 - avg deviation 2.28px | time 903.377sec - Eval Complex Graphs=ON
Maya 2018 v0.3.9 - avg deviation 2.28px | time 369.991sec
Maya 2019 v0.3.9 - avg deviation 2.27px | time 282.662sec
Changes
- The Solver UI Validate button and text is now grouped and hidden or shown together using the User Preferences "Show Validate Button" option.
- Turn off Maya's "Auto Keyframe" feature while performing a solve.
- Turn off Maya's "Cycle Check" feature while performing a solve.
Bug Fixes
- (#176) rivets and complex rig or large node networks will not be removed from the solver.
- Solving per-frame animated attributes failed on Maya 2016, 2017 and 2019 (but strangely not Maya 2018). This is now fixed.
- Constrained plugs that were added into a Collection for solving would incorrectly be listed as "static" attributes. These plugs are now considered "locked".
For Developers
- Added
mmSolver.api.TIME_EVAL_MODE_DG_CONTEXT
,mmSolver.api.TIME_EVAL_MODE_SET_TIME
andmmSolver.api.TIME_EVAL_MODE_LIST
- Added
timeEvalMode
flag to themaya.cmds.mmSolver()
command to force different time evaluation modes (helps to fix #176). mmSolver.utils.nodeaffects.find_plugs_affecting_transform()
andmmSolver.api.find_marker_attr_mapping()
now considers the connected DG network, rather than just the DAG network (helps to fix #176).- Added
mmSolver.api.SolverStep.get/set_time_eval_mode()
- Added
mmSolver.api.SolverBasic.get/set_eval_complex_graphs()
. - Added
mmSolver.api.SolverStandard.get/set_eval_complex_graphs()
.
Known Issues
- Maya 2016 on Linux has problems with the new user preferences UI - the release for Maya 2016 is available for download, with this limitation.
- In Maya 2016, the Solver UI disables selection of the Attributes - the cause is unknown.
- 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+.