godotengine / godot

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

Error is shown when i add skeletonIK nodes to a skeleton from an imported mesh. #67290

Open ghost opened 2 years ago

ghost commented 2 years ago

Godot version

3.5.1 rc2

System information

Macos Monterey

Issue description

I get this error when I'm using inverse kinematics. the error does not stop the game from running and it does not show any impact on the game. it just pops up in the output whenever i start or stop the game from running. This occurs both on GLES2 and GLES3. I also suspect the cause is because i did clear inheritance after importing the model.

E 0:00:07.256 build_chain: Condition "p_task->root_bone >= ee->tip_bone" is true. Returned: false <C++ Source> scene/animation/skeleton_ik.cpp:77 @ build_chain()

Steps to reproduce

Import a rigged 3D model and attach a skeletonIK node to the Skeleton.

Minimal reproduction project

No response

Rabcor commented 1 year ago

Had same issue on 4.0.1 and on the 4.1 alpha build, the error itself doesn't seem to do much harm, it disappears after you assign a root/tip bones.

The current implementation of ikskeleton3d is however completely and utterly broken, magnet and magnet settings do nothing, when you select a tip bone it uses the bone before that as the tip bone, it also eats up the bone before the root bone.

Honestly don't see why they didn't remove ikskeleteon3d the same way they removed skeleton modifications, might as well since it is completely broken too, no need to pretend there's still inverse kinematics support in godot, there simply isn't right now.

I mean just to add insult to injury, the IK doesn't even keep playing if you select a different node after hitting play ik in the editor anymore!