24 lines
780 B
GDScript
24 lines
780 B
GDScript
class_name CameraController extends Camera3D
|
|
|
|
@onready var santa: Santa = Sleigh.instance.get_node("SleighModel/SantaModel")
|
|
|
|
@export var sleigh: bool = true
|
|
@export var lookAt: Node3D
|
|
@export var moveSpeed: float = 20
|
|
@export var zOffset: float = 3.6
|
|
@export var posOffset: Vector3 = Vector3(0, 0, 0)
|
|
@export var lookOffset: Vector3 = Vector3(0, 0, 0)
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta: float) -> void:
|
|
if (City.moving):
|
|
var z: float = position.z
|
|
position = position.move_toward(lookAt.position + posOffset, moveSpeed * delta)
|
|
position.z = z
|
|
look_at(lookAt.global_position + lookOffset)
|
|
else:
|
|
global_position = santa.global_position
|
|
position.z -= 15
|
|
position.y += 20
|
|
look_at(santa.global_position)
|