-
Notifications
You must be signed in to change notification settings - Fork 254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature suggestion: auto correct root bone orientation? #205
Comments
Hey @sacrish Unreal should keep the correct orientation in unreal. If not it's probably you need to re import the animation too. If you need to use the Unreal bones orientation you can use the custom IO exporter here. You can found more details here: |
Yes, I am using a single root bone hierarchy, with no unapplied transform on the Armature, and having the UE standard export selected. My rig hierarchy is similar to UE's mannequin, like this: I think the thing that matters is how the root bone is oriented. For example if the root bone is placed in a conventional "Blender fashion" pointing upward like this: Then when imported into UE the root bone will get a default rotation: And if in Blender the root bone is placed in a specific way (so that after export axis conversion it becomes X-left Y-forward and Z-up): Then when imported into UE it gets a clean transform (well almost): I've attached a Blend file with both rigs so you can test them out if you're interested: |
Sorry for the delay. If I use the "Blender fashion" pointing upward with a roll at zero I get in Unreal Engine (Pitch=90.000000,Yaw=0.000000,Roll=0.000000) It also what I get with my other skeleton from Blender. If you need get zero for all axes well I think your method is the best. |
No problem. The non-zero root bone orientation in UE is fine in most cases. However, for some reason that I don't understand, some retargeted animations will have a incorrect root rotation if it's not all zero by default. So I imagine a feature that: the user could specify a bone as their custom root bone, and on export the plugin automatically converts its orientation (and animation values) to match UE standard. Would such a feature be possible or easy to implement? I understand if it's impossible or too much of a bother and the user has to manually set up their rig correctly. |
Yes I understand the problem. I would have thought that Retargeting tools could fix this. Also it is much simpler if the animations are natively compatible especially if they come from the same character. Unfortunately an option to reorient the root bone would be too tedious, and would probably cause problems with other Rigs. About animating the root bone I guess for the Root Motion it's better to do it with the rig animation. |
tried a bit, but it wasn't easy... I thought it might work if the process around line 3528 of |
Option for zeroing out/transform root would also be helpful with the use of the default generated rig from Blender's metarig. My pipeline does need Rigify retargeting in Blender and UE so having a coherent root transform in both workflows really helps. |
If I manually include a root bone in my rig hierarchy, it will get a non-zero rotation value when imported to UE. This could cause problem with some retargeted animations. Setting its rotation to 0 in UE can't fix the problem because it will make the character lie on the floor.
This seems to be the default behavior of Blender's stock fbx exporter as well.
A workaround I found is to remove the root bone from hierarchy and let the plugin automatically add a root bone on export. This way the root bone can maintain a (0,0,0) orientation in UE. But the drawback is that I would not be able to do root animations in Blender.
So I wonder whether it's possible to make sure the manually added root bone doesn't get an unapplied rotation value, or it's just hard limitation of the program?
The text was updated successfully, but these errors were encountered: