My player is a KinematicBody.
func get_input(delta):
velocity = Vector3()
if Input.is_action_pressed("w") or moving == true:
velocity += -transform.basis.z * speed
$MeshInstance.rotate_x(-0.15)
if Input.is_action_pressed("s"):
velocity += transform.basis.z * speed
if Input.is_action_pressed("d") or rot_right == true:
rotate_object_local(Vector3(0, 1, 0),-0.04)
$MeshInstance.rotate_z(-0.1)
if Input.is_action_pressed("a") or rot_left == true:
rotate_object_local(Vector3(0, 1, 0),0.04)
$MeshInstance.rotate_z(0.1)
velocity=velocity.normalized()*speed
func _physics_process(delta):
get_input(delta)
translate_object_local(Vector3(0,-0.8,0))#gravity
move_and_slide(velocity,Vector3(0,1,0))