OverviewFilesCommitsIssuesDocsReleasesPeers

godot-witchy_world_demo / addons / zylann.hterrain_demo / avatar.gd

41 lines · gd ref:
extends Spatial


func _physics_process(delta):
	var head = get_node("Camera")
	
	var forward = -head.transform.basis.z
	var right = head.transform.basis.x
	var up = Vector3(0, 1, 0)
	
	var dir = Vector3()
	
	if Input.is_key_pressed(KEY_Q) or Input.is_key_pressed(KEY_A):
		dir -= right
	
	elif Input.is_key_pressed(KEY_D):
		dir += right
	
	if Input.is_key_pressed(KEY_Z) or Input.is_key_pressed(KEY_W):
		dir += forward
	
	elif Input.is_key_pressed(KEY_S):
		dir -= forward
	
	if Input.is_key_pressed(KEY_SHIFT):
		dir -= up
	
	elif Input.is_key_pressed(KEY_SPACE):
		dir += up
	
	var dir_len = dir.length()
	if dir_len > 0.01:
		
		dir /= dir_len
		
		var speed = 30.0
		var motor = dir * (speed * delta)
		
		translate(motor)