Index
+ + +A
++ | + |
C
++ | + |
D
++ | + |
E
++ | + |
G
++ | + |
I
++ |
L
++ |
M
++ | + |
O
++ |
P
++ |
R
++ | + |
S
++ | + |
U
++ | + |
V
++ | + |
diff --git a/Scripts/Animation/epic_pose_wrangler/docs/site/html/genindex.html b/Scripts/Animation/epic_pose_wrangler/docs/site/html/genindex.html new file mode 100644 index 0000000..c1b68fd --- /dev/null +++ b/Scripts/Animation/epic_pose_wrangler/docs/site/html/genindex.html @@ -0,0 +1,310 @@ + + +
+ + ++ | + |
+ | + |
+ | + |
+ | + |
+ | + |
+ |
+ |
+ | + |
+ |
+ |
+ | + |
+ | + |
+ | + |
+ | + |
Contents:
+PoseWrangler is a tool for interfacing with Epic’s MayaUERBFPlugin. The plugin is distributed by Epic Games and installed via Quixel Bridge.
+Supports legacy scenes created with the UE4RBFSolverNode
Supports Maya 2018-2022
Provides upgrade workflow to migrate to V2
Supports scenes created with the UERBFSolverNode
Multiple Driver Support
Initial blendshape support (WIP)
Supports Maya 2018-2022
Support for custom mirror mappings to allow for rigs with naming conventions that deviate from the default UE5 conventions
Fully automatable via Python and MayaPy
Serialization/deserialization to dictionary or JSON file
Support for custom extensions and context menu actions
Chris Evans
Judd Simantov
David Corral
Borna Berc
Chris Theodosius
Mirror mapping enables Pose Wrangler to support custom skeletons when mirroring RBF solvers and poses.
+Below is the mirror mapping for characters following the MetaHuman naming conventions:
+++++{ + "solver_expression": "(?P<prefix>[a-zA-Z0-9]+)?(?P<side>_[lr]{1}_)(?P<suffix>[a-zA-Z0-9_]+)", + "transform_expression": "(?P<prefix>[a-zA-Z0-9_]+)?(?P<side>_[lr]{1}_)(?P<suffix>[a-zA-Z0-9_]+)", + "left": { + "solver_syntax": "_l_", + "transform_syntax": "_l_" + }, + "right": { + "solver_syntax": "_r_", + "transform_syntax": "_r_" + } +} +
Key |
+Definition |
+
---|---|
solver_expression |
+A regular expression used to match against the solver node name |
+
transform_expression |
+A regular expression used to match against the transform (joint) node name |
+
left |
+dictionary containing the expected match for the solver_expression and |
+
right |
+dictionary containing the expected match for the solver_expression and |
+
Note
+As an example if we wanted to mirror a solver called calf_l_UERBFSolver
we first try to match the name
+of the solver against the solver_expression
. If the match fails, you’ll see an error appear in the output
+log that the solver name doesn’t match the settings defined in mirror mapping.
If the match succeeds, it will then iterate through the groups in the matchdict to determine if one of the groups
+matches the solver_syntax
for the left hand side. If it does, it will replace it with the right and vice versa.
In this case, we will end up with a matchdict that looks something like this:
+{"prefix": "calf", "side": "_l_", "suffix": "UERBFSolver"}
+The mapping will iterate through this dictionary and attempt to match each value against the solver_syntax
of
+the left
and right
group defined in mirror mapping. If it matches the left
group it will replace the
+side
value with the solver_syntax
specified in the right
group resulting in the following dictionary:
+{"prefix": "calf", "side": "_r_", "suffix": "UERBFSolver"}
The same thing then happens for the drivers and driven transforms associated with the solver, using transform_expression
+and transform_syntax
in place of the solver.
Version 2.0.0 is a refactor of the original Pose Wrangler. The goal of this version has been to separate the UI +logic from the backend, enabling users to automate RBF setup via Python and create custom extensions to add new +functionality.
+Here is where you can find a list of all the RBF solvers currently available in the scene and can edit, create, delete +or mirror solvers.
+In order to make changes to the poses, drivers or driven transforms/blendshapes you need to toggle a solver into edit +mode via the Edit Selected Solver button.
+Note
+Only one solver can be edited at a single time.
+Here you can find a list of all the poses. In order to make any changes to the poses, you need to edit the corresponding solver.
+Warning
+Most of these are self-explanatory, but is it worth noting that Mute Pose will enable and disable the pose on the +solver via the targetEnable attribute. This means that if the RBF solver node is set to use automatic radius +then the radius will be calculated without the influence of the muted poses.
+2.0.0 supports multiple drivers. Here you can add/remove driver transforms.
+Here you can add/remove driven transforms and create/add blendshapes.
+Note
+The blendshape workflow is currently a work in progress and may change in the future.
+Pose Wrangler now supports writing custom extensions for the tool that can be embedded into the UI here. +Core Extensions are default extensions that ship with Pose Wrangler. Pose Exporter is an example of a custom +extension used by the MetaHuman team. For more information on how these extensions work and how to create your own, +please refer to the Extensions page.
+You can also change the mirror mapping, which will allow you to specify a custom mapping if your skeleton does not +match the default MetaHuman skeleton and the mirror solver/pose functionality is causing unexpected results.
+Displays debug, info, warning and error messages.
+When you load up Pose Wrangler with a scene that contains UE4RBFSolverNode you will be greeted with the new legacy +version of PoseWrangler. This version is almost identical with the version previously available via GitHub, with the +addition of the log window and the upgrade button.
+If you have the new version of the plugin available you will be presented with an option to upgrade your scene at the +top of the Pose Wrangler window. Pressing this button will execute an upgrade script that will replace all the +UE4RBFSolverNode with UERBFSolverNode and clean up old/redundant nodes left lingering in the scene.
+If the upgrade is successful you will be presented with the new tool window.
+