Answered

Blender Armature not same in unity

thecodehermit 5 months ago updated by Peter - Soxware Developer 5 months ago 3

Hi, I am not sure what exactly am I missing here. As you can see the armature in Umotion differs from the one I made in blender. 

1: Why does it automatically connect the two child top bones to the main one ? ("bone" to "Bone.001" and "Bone.002")

2: Why are the end bones not there?("Bone.002" and "Bone.004")  If I move the down edges of "Bone.001" and "Bone.003" then "Bone.002" or "Bone.004" are moving. 

I exported the mesh as FBX from Blender and the rig in unity is set to generic.

UMotion Version:
1.25p01
Unity Version:
2021.1.4f1

Answer

Answer
Answered

Hi,

thank you very much for your support request.

1: Why does it automatically connect the two child top bones to the main one ? ("bone" to "Bone.001" and "Bone.002")

Because the FBX file does not store any information about which bones should be visualized as "connected" and which bones should not. You can change such visualization things in UMotion's config mode. If you want to hide the connection of a joint to it's parent, set the "Parent Link" property to "Hidden":

The only thing left now is to figure out why are the end bones disappearing in Umotion

In your first picture, you can see that the end joints have been imported by Unity (the cubes) but the end joints are not bound to the mesh (thus not displayed as bones but as regular transforms). If you want them to be imported correctly, you need to make sure that the end joints are also skinned.


In your second picture the end joints are completely gone (due to changed export settings in Blender?). 90% of the time, this is how a model is imported into Unity. So this is a common situation. There are two ways you can deal with this:


1) You can select this joint whenever you want to rotate the last bone:

2) Or if you really want the last bone to appear, you can also create custom joints for the end joints inside UMotion. This is covered in this video tutorial:

Please let me know in case you have any follow-up questions.

Best regards,
Peter

GOOD, I'M SATISFIED

Thanks for the help !

Satisfaction mark by thecodehermit 5 months ago

A little update.
Blender was adding end bones on the FBX export settings. By removing that it looks this way. Now bone 002 and 004 are completely gone ...  This is from Umotion import because after I imported the FBX back into Blender all the bones were there.

Also I need the bone rotation to stay the same. Bone 001 and 002 have the same rotation as the rectangle meshes, but after I import them with Umotion the rotation is different. 

Update 2 ...
I figured how to make the correct rotation. In the blender export fbx options set "Forward" to "Z forward".

The only thing left now is to figure out why are the end bones disappearing in Umotion

Answer
Answered

Hi,

thank you very much for your support request.

1: Why does it automatically connect the two child top bones to the main one ? ("bone" to "Bone.001" and "Bone.002")

Because the FBX file does not store any information about which bones should be visualized as "connected" and which bones should not. You can change such visualization things in UMotion's config mode. If you want to hide the connection of a joint to it's parent, set the "Parent Link" property to "Hidden":

The only thing left now is to figure out why are the end bones disappearing in Umotion

In your first picture, you can see that the end joints have been imported by Unity (the cubes) but the end joints are not bound to the mesh (thus not displayed as bones but as regular transforms). If you want them to be imported correctly, you need to make sure that the end joints are also skinned.


In your second picture the end joints are completely gone (due to changed export settings in Blender?). 90% of the time, this is how a model is imported into Unity. So this is a common situation. There are two ways you can deal with this:


1) You can select this joint whenever you want to rotate the last bone:

2) Or if you really want the last bone to appear, you can also create custom joints for the end joints inside UMotion. This is covered in this video tutorial:

Please let me know in case you have any follow-up questions.

Best regards,
Peter