A comprehensive look at authoring secondary animation in Maya and importing into Unreal via Pose Driver Connect.
https://dev.epicgames.com/community/learning/tutorials/r04p/unreal-engine-authoring-secondary-animation-in-maya-and-unreal-with-pose-driver-connect
Fantastic work! Thanks for your efforts!
I give it a try today, It works fine when I edit driver bone following the video. But when I create a blend shape in Maya, It seems the blend shape not be imported in engine. So Iâd like to know if import blend shape to engine is supported for now, or just I missed somethingâŚ
Thank you for this, itâs very appreciated.
How do you deal with separate meshes? Metahumans contain the body and head, so whatâs the workflow to get the shoulder and clavicle deformations working with the head mesh?
It looks like joints can only be driven by one solver. Would there be any way to (for example) get the shoulder and clavicle to drive the chest at the same time?
Hey! The blendshape workflow is still experimental in Maya and not currently supported by the Pose Driver Connect plugin in Unreal at the moment, although you can use the PoseDriver node inside an AnimBlueprint to drive curves.
Great questions!
For the head and body, we have duplicate joints in the head skeleton that overlap with that region of the body. The body joints are driven inside the bodyâs post process animation blueprint via Pose Drivers and the head skeleton follows the body using the CopyPoseFromMesh
node inside the Face_AnimBP
.
In terms of skinning, we have a single mesh that contains a head merged with the body and we use that to author all of the body skinning. We then mask out a region around the clavicles on the head mesh and transfer the weights from the body to create a seamless blend.
That is correct, joints can only be driven by one solver, however you can have more than one driver transform that influences the solver. This can be achieved in PoseWrangler by adding another transform to the driver transforms list.
Alternatively, you can also layer transforms and solvers on top of one another. For example, a clavicle solver could drive a chest joint and a shoulder solver could drive a joint that is a child of the chest joint to achieve similar results.
Thank you for your answers, they are very helpful.
Iâve encountered a problem and need assistance. In my scene, I have only two bones. When adding a pose, I receive the following error message: // Error: L1_UERBFSolver: Duplicated targets found. What could be the reason for this?"
That error is normally caused if more than one pose is set with the same transforms.
In your setup are you moving your joints into the pose position before adding a pose or adding a pose and then moving the joints?
If you are adding a pose before moving the joints, updating the pose should be enough to fix this error.
My operation is as follows: In the scene, I create joint1 and joint2, neither of which belong to any hierarchy. Then, I select joint1 and create a solver, naming it UP. After that, in the DRIVE TRANSFORMS/BLENDSHAPES section, I select joint2 in the scene and click on âAdd Drive Transformsâ. There is already a âDefault POSEâ in the POSES section. Next, I move joint1 and joint2 to new positions, click on âAdd Poseâ, and name it. Then, an error message appears: âError: UP_UERBFSolver: Duplicated targets found.â I am not sure if there are any prerequisite rules for using Pose Wrangler? thank you very much for your answer
Thanks for the response! Iâve managed to reproduce your setup with the steps youâve given and I also see the same error when I create a new pose.
This is because by default the RBF solver uses rotation instead of position to interpolate between the poses and the rotation of the default pose and rotation of the up pose are the same. Whenever there is more than one pose with the same position/rotation you will see this error.
In order to fix this, if you select the solver node (right click on on the solver in the RBF SOLVERS section and press Select > Select Solver Node(s)) and change the Input Mode
from Rotation
to Translation
you should see it behaving as expected.
Thank you very much for resolving my confusion; I believe I now understand the rules for using Pose Wrangler. If possible, I would really appreciate seeing Pose Wrangler support rules that accommodate both displacement and rotation attributes simultaneously. This might be a bit much to ask, as I am not familiar with the internal workings, but in projects, displacement and rotation are often used together. Thank you again for your explanation.
This is dynamite !
Thank you for bringing this out.
Also massive props to Gabriele Pellegrini for the video in the early days.
MH control rig Deep Dive UERBF pose wrangler
Cheers,
b
Hello, I would like to ask, after Export All Drivers from an adjusted Metahuman project, the Import Drivers failed in another Metahuman project, RuntimeError: No valid objects supplied to âxformâ command,how to fix it?
Hi Chris, many thanks for your video on the Maya pose Wrangler. I initially was hoping it could work as a way of bringing blendshapes into unreal with similar functionality to Braverabbit Shapes tool but from your previous comments it sounds like the Blendshape functionality isnât available yet, Do you know when this will be up and running? Also I donât appear to have the POSE EXPORTER section in utilities, and when I try file-export selected driver it creates only the json file, not the fbx file. The version Iâm using is Pose Wrangler 2.0 but I see in your video you have 2.2, is this the issue?
Many thanks,
Adam.
Hi! Iâm not sure without a little more information, it sounds like the setup of your two scenes are different. Do both scenes have the joints named the same i.e. without namespaces?
Hi @ChrisTheodosius, many thanks for your response!
If by two scenes you mean Maya and Unreal I think the issue Iâm mentioning is all Maya, and my main issue is that my export from Maya is failing.
If you look at the above left image you have a pose exporter in your video, on the right you see I donât. I tried using the file-export all drivers(which I thought might do the same export process but that appears to only export the .json, not an .fbx file(see below):
Is this a bug or have I not opened the UI correctly?
The only other question was when do you think the Blendshapes workflow will be available as it will be amazing to be able to transfer both driven transform and blendshape data from Maya to Unreal?(I assume the blendshape functionality isnât working yet as above you say: Hey! The blendshape workflow is still experimental in Maya and not currently supported by the Pose Driver Connect plugin in Unreal at the moment)
Adam.
Hi Adam,
The blendshape support is currently experimental in Maya and I donât currently have a timeline for blendshape support via the exporter/importer. That being said, blendshapes can be driven by a PoseDriver in engine by changing the PoseDriver Drive Output
value to Drive Curves
. This will drive a curve for each pose which you can use to activate your blendshape.
For your other issue, It looks like you are using the old version (pre exporter update, the current version is 2.3.0) either downloaded from Github or via the Quixel Bridge Maya plugin. Removing the old version and using the marketplace release should fix the issue of the missing PoseExporter section for you.
Hi @ChrisTheodosius
Im trying to mirror rbf solvers but, âMirror Solverâ button doesnât work.
and search help DOC therenât info. plz help
What I did
- create Soler. name with "arm_l_UERBFSolver " Driver : BN_l_arm, Driven BN_arm0_Se_subry2, POSES name y75.
- excute âMirror Solverâ than error show up
2024-02-05 13:47:36 ERROR: Unable to mirror transform âBN_l_armâ. Target transform does not exist: âBN_râ
2024-02-05 13:47:36 ERROR: Unable to mirror transform âBN_l_armâ. Target transform does not exist: âBN_râ
Hi @jaechul79
It looks like the names that you have for your joints do not follow the default UE5 naming conventions. It is possible to support custom joint naming conventions, however in order to do so you will need to set up a custom skeleton config that contains a mirror mapping
.
There is some documentation on this included with the tool under Help > Documentation and then click on the Skeleton Config
page. If you run into any issues trying to generate one, let me know and Iâll try to help!
thank you for reply.
I will check mirror mapping.
so If I set joint name with default UE5 naming conventions. donât need to mirror mapping right?