Answered

End Bones not aligned properly

thecodehermit 2 years ago updated 2 years ago 2

I have made the model`s the armature and bones in Blender. I have set each bone rotation to where I want it to be in Blender.

Since Umotion always hides the end bones, I have added extra bones to each end bone so they appear correctly in Umotion.

Lets take one of the legs for example. 

L1, L2, Bone rotation seems correct.  But L3 is not rotated correctly In Umotion. 

If I add more bones after Z in Blender and import the model to Umotion again then they are all rotated as they should except for L3 which stubbornly refuses to budge no matter what I do.

I have tried so many things, but I am out of ideas and patience. 

Hopefully someone can help me out with this.

Here are some reference pics:

Model in Unity

Image 1116

Bones in Blender

Image 1117

Bones in Umotion

Image 1118

UMotion Version:
1.28
Unity Version:
Unity 2021.1.4

Answer

Answer
Answered

Hi,
thank you very much for your support request.

Joints with no vertices bound to them are often not even included in the exported FBX file. If they are, than Unity does not configure them as bones when importing the FBX. Thus when you animate the 3D model with UMotion, UMotion can't display the end joint as bone as it simply isn't configured as bone by Unity. What you usually can do is that you extrude the bone in UMotion (see config mode video tutorial). But you can also simply click on the "Z" joint of your picture (the sphere) to select the last bone if you don't want to extrude the bone.

Regarding the rotation of the L3 bone, is it just that the bone visualization is rotated in the wrong way or are the rotation axis also pointing in the wrong direction? You can visualize the rotation axis by selecting the bone and enabling the move tool in local mode. The arrows of the move tool visualize the axis of the bone.

If the axis are wrong as well, than it's an issue with the export/import process of your 3D model from Blender to Unity. Placing the *.blend file directly in your Unity project (instead of exporting to FBX) often helps in such cases. Unfortunately the export/import process between Untiy and Blender has always been tricky to get right... Not an expert on this, as it caused me to switch to Maya LT a few years ago.

Best regards,
Peter

GOOD, I'M SATISFIED
Satisfaction mark by thecodehermit 2 years ago
Answer
Answered

Hi,
thank you very much for your support request.

Joints with no vertices bound to them are often not even included in the exported FBX file. If they are, than Unity does not configure them as bones when importing the FBX. Thus when you animate the 3D model with UMotion, UMotion can't display the end joint as bone as it simply isn't configured as bone by Unity. What you usually can do is that you extrude the bone in UMotion (see config mode video tutorial). But you can also simply click on the "Z" joint of your picture (the sphere) to select the last bone if you don't want to extrude the bone.

Regarding the rotation of the L3 bone, is it just that the bone visualization is rotated in the wrong way or are the rotation axis also pointing in the wrong direction? You can visualize the rotation axis by selecting the bone and enabling the move tool in local mode. The arrows of the move tool visualize the axis of the bone.

If the axis are wrong as well, than it's an issue with the export/import process of your 3D model from Blender to Unity. Placing the *.blend file directly in your Unity project (instead of exporting to FBX) often helps in such cases. Unfortunately the export/import process between Untiy and Blender has always been tricky to get right... Not an expert on this, as it caused me to switch to Maya LT a few years ago.

Best regards,
Peter

I think I found a good workaround with the missing bones. Just adding extra bones in blender to all end bones seems to work ok. 

As to the rotation of the end bones... Some of them have the wrong visualization , but the right axis and some have everything wrong ... All in all its a mess ):
It is extremely annoying how random they are in Unity considering I spend the time configuring each and every bone rotation in Blender to be the correct way. So now I am just fixing every bad rotation axis by hand in Umotion. 
Eventually I might start tinkering with the export settings again, but so far no matter what I try I dont get the desired result.

Anyway thanks for the info at least 

Ps.. Ah and importing the blender file directly didnt seem to do anything different