0 votes

New Godot user here.

I am trying to import an animated character I made for Panda3D in Blender a while ago. Bones and weight painted. It worked perfectly in Panda3D, and the animation works in the Blender preview too.

In Godot, most of the body is animated fine, but both arms rotations are completely crazy and some vertices don't seem attached to the bone properly.

https://i.imgur.com/7BDITKY.png
That thing behind his backpack is his right arm... The hand looks weird too. The bones themselves are at the right place though.

I am using the Better Collada Exporter plugin for Blender (with max precision and proper boxes checked afaik) , and it works well with the sample Blender file at
https://godotengine.org/article/importing-3d-assets-blender-gamedevtv
(both textures and animations).

I tried disabling "Optimizer" and "Compress Mesh" in the import options in Godot, but it didn't solve anything.

I also tried breaking the character in several meshes and moving them around without a skeleton rig, which is ugly but good enough for what I am doing. And again, two parts (upper and lower right arm, left arm worked) were way off.

If there is something wrong with the Better Collada plugin, what can I do to avoid problems ? Or how can I fix it in Godot ?

asked Jan 21, 2019 in Engine by I.F. (16 points)
edited Jan 21, 2019 by I.F.

1 Answer

0 votes

I may have found the answer to my problem :
https://github.com/godotengine/godot/issues/14399

"COLLADA does not support a native 4x4 matrix transformation format,
so we write to the file as a translation or rotation. If you use this
to make smoothed animations, this can lead to gimbal lock issues,
which appear as sudden 180 flips in playback. You many need to
manually edit rotations or smoothing settings."

OK, update on this. In Blender, changing the rotation type for objects
(3D View > Properties region (N) > Transform panel > Rotation) from
XYZ Euler to Quaternion (WXYZ) helps a lot when exporting as DAE.

EDIT : Nope, that didn't change anything ! I also tried setting all the vertice weights to something just a bit above 0 in weight painting, re rigged everything, and the animation is still broken.
EDIT : I tried again and it worked !

answered Jan 24, 2019 by I.F. (16 points)
edited Feb 10, 2019 by I.F.
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.