I want that, when I press m the camera to move around an Object but to keep looking at it.
Here are som pics: https://imgur.com/a/jU8Kj6a
Code:
extends KinematicBody
export var moveSpeed : float = 5.0
var vel : Vector3 = Vector3()
onready var camera = get_node("CameraOrbit")
onready var kaijuNodeAnim = get_node("CameraOrbit/Kaiju_Model_Anim2").get_node("AnimationPlayer")
onready var kaijuNodeModel = get_node("CameraOrbit/Kaiju_Model_Anim2")
onready var cameraOrbitNodeCamera = get_node("CameraOrbit").get_node("Camera")
func _physics_process(delta):
vel.x = 0
vel.x = 0
var input = Vector3()
if Input.is_action_pressed("ui_up"):
input.x += 1
kaijuNodeAnim.play("Walk")
elif Input.is_action_pressed("ui_down"):
input.x -= 1
kaijuNodeAnim.play("Walk")
elif Input.is_action_pressed("ui_right"):
input.z += 1
kaijuNodeAnim.play("Walk")
elif Input.is_action_pressed("ui_left"):
input.z -= 1
kaijuNodeAnim.play("Walk")
elif Input.is_action_pressed("ui_m"):
kaijuNodeAnim.play("Dance")
cameraOrbitNodeCamera.translate(Vector3(cos(OS.get_ticks_msec()*0.01) * PI, 0, sin(OS.get_ticks_msec()*0.01)*PI))
else:
kaijuNodeAnim.play("Idle")
input = input.normalized()
var dir = (transform.basis.z * input.z + transform.basis.x * input.x)
vel.x = dir.x * moveSpeed
vel.z = dir.z * moveSpeed
vel = move_and_slide(vel, Vector3.UP)