@tool extends Unit class_name Citizen @onready var body: Sprite3D = $Body @onready var hands: Sprite3D = $Body/Hands func _process(delta: float) -> void: super(delta) var camera: Camera3D if Engine.is_editor_hint(): camera = EditorInterface.get_editor_viewport_3d(0).get_camera_3d() else: camera = get_viewport().get_camera_3d() var facing_direction: Vector3 = -global_basis.z var camera_local_facing: Vector3 = facing_direction * camera.global_basis var facing_away: bool = camera_local_facing.z < 0 var facing_right: bool = camera_local_facing.x > 0 body.frame = 1 if facing_away else 0 hands.frame = 1 if facing_away else 0 body.flip_h = facing_right hands.flip_h = facing_right