This site is currently in read-only mode during migration to a new platform.
You cannot post questions, answers or comments, as they would be lost during the migration otherwise.
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 ?

in Engine by (16 points)
edited by

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 !

by (16 points)
edited by
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 Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.