Skip to content
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

Models rigged in and exported from Blender have corrupted limb bones in 4.0.1 #75498

Open
blanchjo opened this issue Mar 30, 2023 · 4 comments
Open

Comments

@blanchjo
Copy link

blanchjo commented Mar 30, 2023

Godot version

4.0.1-stable-win64

System information

Windows 10 and 11, Vulkan

Issue description

Regardless of export format, armatures from Blender inport improperly to Godot 4.0.1. The same armature iimports fine in 3.5.2

Imported into 3.5.2 it appears as follows.
image

The same file in 4.0.1, no changes:
image

Exporting the tscn from 3.5.2 still produces the same results. Please let me know if I can help in any way.

Edit: Had attatched incorrect image for 4.0.1 example

Steps to reproduce

Please see included tscn or glb.

Minimal reproduction project

Broken bones if not 'spine'.zip

@blanchjo
Copy link
Author

Note, I have also attempted using DAE, FBX, and import from .blend with same results

@blanchjo
Copy link
Author

Update/Discovery:

All exported bones MUST be parented before exporting. I had the clavicles, arms, and legs without parents. After parenting them properly they import correctly into GODOT. I'll leave whether or not that as "behaving as intended" up to other parties, but my opinion is that it should be acceptable to use unparented bone trees within your armature. Either way, I do hope someone finds this useful.

@and-rad
Copy link
Contributor

and-rad commented Apr 1, 2023

Is this even possible in any other engine? A skeleton is a tree of bones and that means, mathematically speaking (and among other things), every node is connected to every other node. The other thing is called a forest. That's one of the reasons why UE creates an additional root bone if it detects that the imported skeleton has multiple roots.

I would file this under "behaving as intended".

@rainerdeyke
Copy link
Contributor

UE behavior is clearly correct in this respect. Having "unparented" bones in Blender doesn't mean "literally completely detached from everything", it means "parented to the armature itself", i.e. "parented to the hidden root bone of the armature, which is the represented in the editor by the armature itself". If you move the armature, these "unparented" bones move with it, so they're not really unparented in any absolute sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants