Hello,
I have a 3P Player controller with Dual analog sticks. The Left stick controls Player's movements and player's Pivot rotations. The Right stick controls Player's directions and camera's Pivot rotations (to look around). It's working great the way I wanted it.
But How can I set camera to where the player's new facing as if it was the "original" position behine the player? (eg. Like in Mario 3D there's a button that does that). Is it possible with my current setup?
Left stick

Right stick

My trees:
Player
-Pivot
--Mesh
-CamPivot
--Camera
func _physics_process(delta):
var direction = (velocity.x * transform.basis.x) + (velocity.z * transform.basis.z)
# Rotating Mesh
if velocity.z != 0 or velocity.x != 0:
$Pivot.rotation.y = lerp_angle($Pivot.rotation.y, atan2(-velocity.x, -velocity.z), 0.1)
# Moving Player
move_and_slide((velocity + direction * speed)+dash_vel, Vector3.UP)
apply_controller_rotation()
func apply_controller_rotation():
var axis_vector = Vector2.ZERO
# Rotating Camera Pivot
if InputEventJoypadMotion:
rotate_y(deg2rad(-axis_vector.x) * controller_sensitivity)
$CamPivot.rotate_x(deg2rad(-axis_vector.y) * controller_sensitivity)