godot-jigglebones icon indicating copy to clipboard operation
godot-jigglebones copied to clipboard

Update addon for Godot 3.2, twisted jigglebones.

Open Corruptinator opened this issue 5 years ago • 10 comments

set_bone_global_pose no longer exists as of Godot 3.2. You'll need to update the jigglebone.gd script with the following at line 115 to replicate the old effect:

skeleton.set_bone_global_pose_override(bone_id, bone_new_transf_obj, 1, true)

Also, not sure if this is something that can be improved but testing the animation player caused the bone to be oversensitive:

(Update: Is it possible to write a code that resets the bone positions instead of using the move tool?)

image

Corruptinator avatar Feb 05 '20 07:02 Corruptinator

I forked it and did this

Hasenn avatar Feb 16 '20 07:02 Hasenn

After this code in 3.2. It twisted the bone too much.How to impove this ?

vipsbpig avatar Mar 06 '20 08:03 vipsbpig

could you open an issue on my fork and detail how to reproduce / what is wrong exactly?

Hasenn avatar Mar 06 '20 08:03 Hasenn

@Hasenn I can't open an issue on your fork page,maybe you forget to open the issues function.Just like the original post.Before it run well in game.Maybe crazy effect on the editor side.Now every play the monkey will not set to it's original form.

After the animation form original scene.The monkey will be twisted.Here is the pic. bug I adujst the camera a little to see the monkey twisted clearly.

vipsbpig avatar Mar 06 '20 09:03 vipsbpig

I'll take a look when i can

Hasenn avatar Mar 06 '20 09:03 Hasenn

Yep, the twisting thing is a known problem, I'm not exactly sure why it happens. I'll have to port the thing to Godot 3.2 as well but currently I'm recovering from COVID so it won't be any time soon.

Bauxitedev avatar Jun 17 '20 13:06 Bauxitedev

OH WOW. I offer my prayers for your recovery! _ _ /)(\

Corruptinator avatar Jun 19 '20 04:06 Corruptinator

Calling skeleton.clear_bones_global_pose_override() once and only on the first jiggle bone processed in the scene tree fixed this for me.

I figured that out after trying this guide.

bengtsts avatar Oct 04 '21 06:10 bengtsts

The main issue in many of these tickets is that it runs in tool mode, which changes the data saved in your scene. That's why @bengtsts 's solution to clear it at runtime works. If you disable tool mode it will fix 99% of the problems as the initial data in your scene is set properly at runtime.

You can also try my fork which supports collision among other changes. See the readme. https://github.com/tinmanjuggernaut/godot-jigglebones

@Bauxitedev I'm happy to contribute to your repo if you're still active on this project, or it can stay where it is.

TokisanGames avatar Nov 27 '21 20:11 TokisanGames