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

ufbx still imports animations even when turned off in import panel #90298

Open
Tracked by #91519
plyoung opened this issue Apr 6, 2024 · 6 comments
Open
Tracked by #91519

ufbx still imports animations even when turned off in import panel #90298

plyoung opened this issue Apr 6, 2024 · 6 comments

Comments

@plyoung
Copy link

plyoung commented Apr 6, 2024

Tested versions

Godot v4.3.dev5.mono

System information

Godot v4.3.dev5.mono - Windows 10.0.22631 - Vulkan (Forward+)

Issue description

I am importing static models which seems to have an animation track added to the FBX even while there is no animation. I've notice that even if I turn off Animation/Import that an animation player is still created for the scene. I have to go via Advanced to manually check "skip import" for the animation.

Screenshot 2024-04-06 120302

Screenshot 2024-04-06 120337

Steps to reproduce

Try to import a model which has an animation track while animation import is turned off in the Import panel. The scene swill still include an animation player.

Screenshot 2024-04-06 120531

Minimal reproduction project (MRP)

test_barel.zip

@plyoung
Copy link
Author

plyoung commented Apr 6, 2024

I notice now the FBX2glTF option has same problem, assuming this is not expected behaviour?

@akien-mga
Copy link
Member

CC @godotengine/import

@bqqbarbhg
Copy link
Contributor

bqqbarbhg commented Apr 18, 2024

Unsure of the "spec" if FBX2glTF does it as well, but if this is not desired behavior, setting ufbx_load_opts.ignore_animation will skip loading animations at a low level. This only skips reading animation curve data but animation names etc. are retained, so additionally it would need a bit of high-level logic to not create the AnimationPlayer etc. if wanted.

@fire
Copy link
Member

fire commented Apr 18, 2024

What is the expected behaviour? I can interpret providing an animation player as a scene import level decision.

  1. The importers generate the scene with animations
  2. The scene importer filters the extra information. Ensures tangent. Deletes animations. Delete animation players.
  3. Presented to the user

@fire
Copy link
Member

fire commented May 24, 2024

  • Need to check what the existing behaviour in 4.2 is
  • I would desire to match the behaviour
  • "Unreal Take" is weird. We don't add the worlds "Unreal" to our animation.

@fire
Copy link
Member

fire commented May 24, 2024

According to the fbx2gltf importer there is an Animation named 'Unreal Take' that has no channels in it. Like an empty animation. So it would be correct to import it as an empty animation in Godot Engine.

% FBX2glTF-macos-x86_64 test_barel.FBX
Warning: could not find a image file for texture: EnvSamplerTex.
Warning: could not find a image file for texture: EnvSamplerTex.
Warning: node /RootNode/SM_barel uses unsupported transform inheritance type 'eInheritRrSs'.
         (Further warnings of this type squelched.)
Animation Unreal Take: [18446744073709551615 - 18446744073709551615]
Animation 'Unreal Take' has no channels, skipped
Wrote 4589 bytes of glTF to ./test_barel_out/test_barel.gltf.
Wrote 40312 bytes of binary data to ./test_barel_out/buffer.bin.

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

5 participants