Improved camera

This commit is contained in:
2024-02-10 00:10:51 +01:00
parent c3812dd54e
commit da869e0185
10 changed files with 194 additions and 114 deletions

View File

@ -0,0 +1,26 @@
extends Node3D
@export var sensitivity: float
var enabled: bool
func _ready():
assert(rotation_order == EULER_ORDER_YXZ)
func _unhandled_input(event):
if event.is_action_pressed("look"):
enabled = true
DisplayServer.mouse_set_mode(DisplayServer.MOUSE_MODE_CAPTURED)
if event.is_action_released("look"):
enabled = false
DisplayServer.mouse_set_mode(DisplayServer.MOUSE_MODE_VISIBLE)
if !enabled:
return
if not event is InputEventMouseMotion:
return
rotation.x += deg_to_rad(-event.relative.y * sensitivity)
rotation.y += deg_to_rad(-event.relative.x * sensitivity)