decouple camera from runner position

This commit is contained in:
2025-02-06 13:08:36 +09:00
parent be682b2813
commit 4e65d2c43b
5 changed files with 31 additions and 139 deletions
+3 -1
View File
@@ -3,6 +3,8 @@ extends MultiplayerSynchronizer
@export var direction: Vector2 = Vector2.ZERO
@export var walking: bool = false
@onready var _camera_pivot: Node3D = %CameraPivot
func _ready() -> void:
if multiplayer.is_server() or get_multiplayer_authority() != multiplayer.get_unique_id():
set_process(false)
@@ -11,6 +13,6 @@ func _ready() -> void:
func _physics_process(_delta: float) -> void:
var directional_input := Input.get_vector("move_right", "move_left", "move_forward", "move_back")
var camera_adjusted: Vector3 = (directional_input.x * %CameraTarget.global_basis.z) + (directional_input.y * %CameraTarget.global_basis.x)
var camera_adjusted: Vector3 = (directional_input.x * _camera_pivot.global_basis.z) + (directional_input.y * _camera_pivot.global_basis.x)
direction = Vector2(camera_adjusted.x, camera_adjusted.z).rotated(PI / 2.0).normalized()
walking = Input.is_action_pressed("walk")