Following a Godot doc and just copied everything but I'm getting an error.
extends Spatial
var lowerarm_angle = Vector3()
var upperarm_angle = Vector3()
var skel
var bone = "upperarm"
var coordinate = 0
func _ready():
skel = get_node("Armature/Skeleton")
set_process(true)
func set_bone_rot(bone, ang):
var b = skel.find_bone(bone)
var rest = skel.get_bone_rest(b)
var newposex = rest.rotated(Vector3(1.0, 0.0, 0.0), ang.x)
var newposey = newposex.rotated(Vector3(0.0, 1.0, 0.0), ang.y)
var newposez = newposey.rotated(Vector3(0.0, 0.0, 1.0), ang.z)
var newpose = newposex and newposey and newposez
skel.set_bone_pose(b, newpose)
func _process(delta):
if Input.is_action_pressed("select_x"):
coordinate = 0
elif Input.is_action_pressed("select_y"):
coordinate = 1
elif Input.is_action_pressed("select_z"):
coordinate = 2
elif Input.is_action_pressed("select_upperarm"):
bone = "upperarm"
elif Input.is_action_pressed("select_lowearm"):
bone = "lowerarm"
elif Input.is_action_pressed("increment"):
if bone == "lowerarm":
lowerarm_angle[coordinate] += 1
elif bone == "upperarm":
upperarm_angle[coordinate] += 1
elif Input.is_action_pressed("decrement"):
if bone == "lowerarm":
lowerarm_angle[coordinate] -= 1
elif bone == "upperarm":
upperarm_angle[coordinate] -= 1
set_bone_rot("lowerarm", lowerarm_angle)
set_bone_rot("upperarm", upperarm_angle)