mirror of
https://github.com/Relintai/pandemonium_demo_projects.git
synced 2024-12-21 13:56:50 +01:00
Fix ik_look_at.gd.
This commit is contained in:
parent
dfd8abe5fe
commit
f5d91b4e6e
@ -1,4 +1,3 @@
|
|||||||
tool
|
|
||||||
extends Spatial
|
extends Spatial
|
||||||
|
|
||||||
export(NodePath) var skeleton_path setget _set_skeleton_path
|
export(NodePath) var skeleton_path setget _set_skeleton_path
|
||||||
@ -78,23 +77,22 @@ func update_skeleton():
|
|||||||
return
|
return
|
||||||
|
|
||||||
# get the bone's global transform pose.
|
# get the bone's global transform pose.
|
||||||
var rest = skeleton_to_use.get_bone_global_pose(bone)
|
var rest : Transform = skeleton_to_use.get_bone_global_pose_no_override(bone)
|
||||||
|
|
||||||
# Convert our position relative to the skeleton's transform.
|
# Convert our position relative to the skeleton's transform.
|
||||||
var target_pos = skeleton_to_use.global_transform.xform_inv(global_transform.origin)
|
var target_pos : Vector3 = skeleton_to_use.global_transform.xform_inv(global_transform.origin)
|
||||||
|
|
||||||
# Call helper's look_at function with the chosen up axis.
|
# Call helper's look_at function with the chosen up axis.
|
||||||
if look_at_axis == 0:
|
if look_at_axis == 0:
|
||||||
rest = rest.looking_at(target_pos, Vector3.RIGHT)
|
rest = rest.looking_at(target_pos, skeleton_to_use.global_transform.xform_inv(Vector3.RIGHT))
|
||||||
elif look_at_axis == 1:
|
elif look_at_axis == 1:
|
||||||
rest = rest.looking_at(target_pos, Vector3.UP)
|
rest = rest.looking_at(target_pos, skeleton_to_use.global_transform.xform_inv(Vector3.UP))
|
||||||
elif look_at_axis == 2:
|
elif look_at_axis == 2:
|
||||||
rest = rest.looking_at(target_pos, Vector3.FORWARD)
|
rest = rest.looking_at(target_pos, skeleton_to_use.global_transform.xform_inv(Vector3.FORWARD))
|
||||||
else:
|
else:
|
||||||
rest = rest.looking_at(target_pos, Vector3.UP)
|
rest = rest.looking_at(target_pos, skeleton_to_use.global_transform.xform_inv(Vector3.UP))
|
||||||
if debug_messages:
|
if debug_messages:
|
||||||
print(name, " - IK_LookAt: Unknown look_at_axis value!")
|
print(name, " - IK_LookAt: Unknown look_at_axis value!")
|
||||||
|
|
||||||
# Get the rotation euler of the bone and of this node.
|
# Get the rotation euler of the bone and of this node.
|
||||||
var rest_euler = rest.basis.get_euler()
|
var rest_euler = rest.basis.get_euler()
|
||||||
var self_euler = global_transform.basis.orthonormalized().get_euler()
|
var self_euler = global_transform.basis.orthonormalized().get_euler()
|
||||||
|
Loading…
Reference in New Issue
Block a user