diff --git a/overworld/camera/OverworldCamera.gd b/overworld/camera/OverworldCamera.gd index e67be48..d5e8e6d 100644 --- a/overworld/camera/OverworldCamera.gd +++ b/overworld/camera/OverworldCamera.gd @@ -2,7 +2,8 @@ class_name OverworldCamera extends Camera3D enum CameraMode { FREE, CENTERED } -const COLLISION_MARGIN:float = 0.3 +# const COLLISION_MARGIN:float = 0.1 +const COLLISION_MARGIN:float = 0 @export_category("Target") @export var targetNode:Node3D = null @@ -10,7 +11,7 @@ const COLLISION_MARGIN:float = 0.3 @export_category("Orbit") @export var distance:float = 7.0 -@export var minDistance:float = 2.0 +@export var minDistance:float = 2.5 @export var orbitSensitivity:float = 144.0 @export var orbitAcceleration:float = 600.0 @export var orbitFriction:float = 10.0 @@ -21,7 +22,7 @@ const COLLISION_MARGIN:float = 0.3 @export var mouseSensitivity:float = 0.3 @export_category("Auto-center") -@export var centeredDelay:float = 2.0 +@export var centeredDelay:float = 1.0 @export var centeredFollowRate:float = 0.75 @export var centeredMaxFollowRate:float = 1.0 @export var centeredPitch:float = 30.0 @@ -131,7 +132,7 @@ func _process(delta:float) -> void: var actualDir:Vector3 = (finalPos - pivot).normalized() var targetPitch:float = rad_to_deg(asin(clamp(actualDir.y, -1.0, 1.0))) var targetYaw:float = rad_to_deg(atan2(actualDir.x, actualDir.z)) - var feedbackRate:float = minf(40.0 * delta, 1.0) + var feedbackRate:float = minf(120.0 * delta, 1.0) _pitch = lerpf(_pitch, targetPitch, feedbackRate) var feedbackYawDiff:float = fposmod(targetYaw - _yaw + 180.0, 360.0) - 180.0 _yaw += lerpf(0.0, feedbackYawDiff, feedbackRate)