godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.22k stars 20.23k forks source link

Exported animations from blender have serious artefacts #49465

Closed kjav closed 3 years ago

kjav commented 3 years ago

Godot version

3.3 and 3.3.2

System information

Windows 10, iGPU

Issue description

Hi,

I'm having serious problems exporting a file from blender to Godot. The original file, downloaded from Adobe Mixamo, works fine in Godot. However, once imported into blender and exported using gLTF (the suggested file format in the Godot documentation), the artefacts appear. They are different for each loop of the animation, and don't appear in other 3d software when viewing the file, so I am confident the issue lies somewhere within Godot.

https://user-images.githubusercontent.com/9029686/121368055-b197de80-c932-11eb-93cb-7cb352c918ee.mp4

I used 2 versions of Blender to test this: 2.91, and 2.83 LTS.

Thanks for the help.

Steps to reproduce

Minimal reproduction project

jump.zip

Calinou commented 3 years ago

cc @fire

fire commented 3 years ago

Looking

fire commented 3 years ago

I'm not currently seeing any issues in 3.x.

image

Are you able to try 3.4?

@Calinou What's the preferred way to sending links to Windows, Linux, OSX top of the branch builds?

Calinou commented 3 years ago

What's the preferred way to sending links to Windows, Linux, OSX top of the branch builds?

Link to the Testing pull requests documentation, as nightly.link's PR comment bot isn't usable on repositories that have multiple artifact-producing workflows.

fire commented 3 years ago

https://user-images.githubusercontent.com/32321/121394453-31f41a80-c906-11eb-8452-2df1eafd0271.mp4

kjav commented 3 years ago

Unfortunately yes, I'm seeing the same when running the latest 3.X branch.

fire commented 3 years ago

I think it may be an integrated gpu bug. I'm not sure how to recreate.

Try software skinning. (blend shapes are ignored)

kjav commented 3 years ago

I'm not sure if this is correct, but I've changed the setting in "Project Settings > Rendering> Quality > Force Software Skinning" to true and it seems to have stopped the artefacts for now. Will this significantly affect performance, especially on mobile? Should I be disabling this option when I export? Thanks for the help anyway - making progress!

Calinou commented 3 years ago

Will this significantly affect performance, especially on mobile? Should I be disabling this option when I export?

It will affect performance if you use complex skinned models or lots of skinned models (dozens or more in view), but if you only have a few simple models, it's probably fine.

Also, GPU-accelerated skinning is often broken on mobile, so you have no choice but to force software skinning on mobile (unless you're only targeting flagship devices where GPU-accelerated skinning can work reliably).

kjav commented 3 years ago

I didn't know that about mobile - thanks for the information, that will be really useful when we start deploying.

lawnjelly commented 3 years ago

I didn't know that about mobile - thanks for the information, that will be really useful when we start deploying.

Also I would advise to use VisibilityEnablers when #49341 has been merged. Your performance with software skinning may be a lot lower without it, as it will be doing the CPU skinning objects even on objects that are not in view of the camera.

fire commented 3 years ago

I'm going to close the issue. We've identified that this is a computer specific problem related to igpus.

Solutions were discussed

  1. use software skinning, but pay attention to optimizations.