Files
Dawn-Godot/entities/MapCamera.gd

16 lines
552 B
GDScript

@tool
class_name MapCamera extends Camera3D
@export var targetFollow:Node3D = null
@export var pathFollow:PathFollow3D = null
@export var pathMap:Path3D = null
func _process(delta):
if !pathMap || !targetFollow || !pathMap.curve:
return
var point = pathMap.curve.get_closest_point(targetFollow.global_transform.origin)
pathFollow.progress_ratio = pathMap.curve.get_closest_offset(point) / pathMap.curve.get_baked_length()
global_transform.origin = pathFollow.global_transform.origin
look_at(targetFollow.global_transform.origin, Vector3.UP)