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

IK preview does not work #72945

Closed
tamagos opened this issue Feb 9, 2023 · 21 comments · Fixed by #82391
Closed

IK preview does not work #72945

tamagos opened this issue Feb 9, 2023 · 21 comments · Fixed by #82391

Comments

@tamagos
Copy link

tamagos commented Feb 9, 2023

Godot version

Godot_v4.0-rc1_mono_win64.zip

System information

Windows 10

Issue description

in editor can not preview the IK of skeletonIK3D,
worked in December betas

Steps to reproduce

add skeletonIK3D node
setup
click play IK
click target node3D
IK preview mode no longer active so can not see results of moving it

Minimal reproduction project

N/A

@lyuma lyuma self-assigned this Feb 9, 2023
@lyuma
Copy link
Contributor

lyuma commented Feb 9, 2023

I'm surprised this regressed since I don't think there's been any work done on the IK node, but I am looking into issues related to SkeletonIK3D so I'll include this in my testing.

@dszhblx
Copy link

dszhblx commented Feb 15, 2023

Although SkeletonIK3D is not working right now, I also encountered this problem

@lobziq
Copy link

lobziq commented Feb 15, 2023

Can confirm, switching from SkeletonIK3D to any other node results IK solver stop playing (in editor).

@lobziq
Copy link

lobziq commented Feb 20, 2023

@tamagos @dszhblx ive slapped a quickfix as editor tool, attach this to your SkeletonIK node and click "playing" checkbox in properties

@tool
extends SkeletonIK3D

@export var playing: bool = false


func _process(delta):
	if not Engine.is_editor_hint():
		return
		
	if self.playing and not self.is_running():
		self.start()

	if not self.playing and self.is_running():
		self.stop()

@dszhblx
Copy link

dszhblx commented Feb 28, 2023

@Calinou Since you guys decided that Godot 4.0 includes SkeletonIK3D which works fine, this little bug should also be fixed in Godot 4.0.Thanks!

@RNubla
Copy link

RNubla commented Mar 3, 2023

This issue still persist in 4.0😢 but hopefully this gets fixed on the next update 🤞

@DillonSteyl
Copy link

@lyuma

I'm surprised this regressed since I don't think there's been any work done on the IK node, but I am looking into issues related to SkeletonIK3D so I'll include this in my testing.

In case you're still looking at SkeletonIK3D issues, I just had a brief look into this.

void SkeletonIK3DEditorPlugin::edit(Object *p_object) {
	if (p_object != skeleton_ik) {
		if (skeleton_ik) {
			play_btn->set_pressed(false);
			_play();
		}
	}

If the edit method is called on the SkeletonIK editor plugin with a nullptr as the object, the SkeletonIK is disabled.
If this particular code is removed, the issue goes away - however this hasn't been touched in years. So it almost feels like this was originally the intended behaviour?

It does look like there was some recent work done in editor_node.cpp. In this particular case, the method is called by the hide_unused_editor method:

void EditorNode::hide_unused_editors(const Object *p_editing_owner) {
	if (p_editing_owner) {
		const ObjectID id = p_editing_owner->get_instance_id();
		for (EditorPlugin *plugin : active_plugins[id]) {
			_plugin_over_edit(plugin, nullptr);  // <-- this is it
		}
		active_plugins.erase(id);

I'm not sure if its as simple as removing the first part of the edit method on the SkeletonIK editor plugin - that seems to fix the issue, but I'm not sure if it would have unintended side effects.

@lyuma
Copy link
Contributor

lyuma commented May 25, 2023

Here's another workaround you can use today (kind of the Blender style approach, like how you'd do pose mode while editing a mesh)

two nodes selected, play IK is enabled in the toolbar
basically select two nodes, and then you get to keep the toolbar item for the SkeletonIK3D and it keeps updating.
We could theoretically mention this in the documentation. unfortunately it's not so obvious. I'll think what to do.

@dszhblx
Copy link

dszhblx commented Jun 25, 2023

SkeletonIK3D woks in 4.1 beta3,but this issuestill persist
@lyuma

@tamagos tamagos closed this as completed Jul 1, 2023
@tamagos tamagos reopened this Jul 1, 2023
@tamagos
Copy link
Author

tamagos commented Jul 1, 2023

any updates, its hard to recommend a engine when feature regression are ignored

@akien-mga
Copy link
Member

@tamagos Please don't bump issues to make demands like this. You already clarified that the issue is still valid a week ago. Most Godot contributors are volunteers and work on their free time, and that includes all contributors knowledgeable about IK.

@tamagos
Copy link
Author

tamagos commented Jul 1, 2023

@akien-mga
ok but I did not bump it a week ago, I have not posted since I created this 6 months ago

@akien-mga
Copy link
Member

My bad, I misread the handle of the user who bumped it last.

@nickbo7
Copy link

nickbo7 commented Jul 3, 2023

I was able to manipulate my Marker3D positions while IK was updating by doing what lyuma suggested. Play IK, then hold CTRL and click the node you want to edit. Then press the relevant hotkey to change values. 'Q', 'W', 'E', 'R'

Hope that helps someone.

@andzejsp
Copy link

Why does it have to be so difficult? Press and hold CTRL and do the other things? Why cant you press play, make checkbox to set it active? Still persists in godot 4.1.1

@warriormaster12
Copy link
Contributor

image

@andzejsp The pr should hopefully be merged soon so this won't be an issue anymore.

#82391

Not sure if it will be cherry-picked for 4.1

@andzejsp
Copy link

andzejsp commented Sep 28, 2023

image

@andzejsp The pr should hopefully be merged soon so this won't be an issue anymore.

#82391

Not sure if it will be cherry-picked for 4.1

i hope its fixed in 4.2 or the next stable 4.xx version. No problems. Just difficult to follow tutorials and the feature you see in older versions is missing in the newer ones. Keep up the good work!

@YuriSizov YuriSizov removed this from the 4.x milestone Sep 28, 2023
@YuriSizov YuriSizov added this to the 4.2 milestone Sep 28, 2023
@akien-mga
Copy link
Member

akien-mga commented Sep 28, 2023

@andzejsp I edited your last comment to remove a statement which clearly broke the Godot Code of Conduct. Please keep such things out of Godot community platforms, this is not welcome.

@tamagos
Copy link
Author

tamagos commented Oct 4, 2023

confirming IK preview works correctly on:
Godot_v4.2-dev6_mono_win64

@GeorgeS2019
Copy link

@tamagos
Could you share a basic skeleton3DIK demo that show the IK preview works

@Wallaguiar
Copy link

SkeletonIK3D "play IK" doesn't stay in played state when selecting other nodes,
Captura de Tela (2770)
Captura de Tela (2769)
Captura de Tela (2772)
Captura de Tela (2774)

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