Morning all
I am stuck at making IK work through script. Hoping for some help. I will include the script and the order of nodes below.
FPS[Spatial]
-Armature[Spatial]
-Skeleton
-FPS Mesh
-SkeletonIK
-Target[Spatial]
-AnimationPlayer
I tried the https://www.youtube.com/watch?v=TfAO2W6lO8E by RandomMomentania and https://godotengine.org/article/skeleton-inverse-kinematic by Andrea Catania.
I can make the mesh deform by manually moving the target in the editor. However - I am hoping to make it happen through script so that I can either move the target in the script
or change the targetnode of IK during runtime, to help with picking a different weapon and having the hands moving to new holding location based on the weapon. However, when I try to change the target node or when I move the current targetnode either by changing globaltransform or globaltransform.origin - no mesh deform happens. I can still play the animation and that works as expected.
What am I doing wrong?
extends Spatial
onready var iktarg=$Armature/Skeleton/target_1
func _input(event):
if Input.is_key_pressed(KEY_UP):
iktarg.global_transform.origin.y+=0.1
elif Input.is_key_pressed(KEY_DOWN):
iktarg.global_transform.origin.y-=0.1
print(iktarg.global_transform.origin)
if Input.is_key_pressed(KEY_SPACE):
$AnimationPlayer.play("push")
Thanks all