- Home /
Question by
Imamul125 · Dec 15, 2018 at 07:14 PM ·
errorcamera-movementcamera rotate
I have a code that let me recenter at Xaxis.
my code code fine my camera get recentered when button is pressed. but the problem is it get recenter only in Xaxis i want it to get recentered in Xaxis, as well as in Yaxis. Below is the code
void Start()
{
vcam = GetComponent<CinemachineFreeLook>();
for (int i = 0; vcam != null && i < 3; ++i)
{
rigs[i] = vcam.GetRig(i);
orbital[i] = rigs[i].GetCinemachineComponent<CinemachineOrbitalTransposer>();
}
}
void Update()
{
Transform target = vcam != null ? vcam.Follow : null;
if (target == null)
return;
// Disable the transposers while recentering
for (int i = 0; i < 3; ++i)
orbital[i].enabled = !recenter;
if (recenter)
{
// How far away from centered are we?
Vector3 up = vcam.State.ReferenceUp;
Vector3 back = vcam.transform.position - target.position;
float angle = UnityVectorExtensions.SignedAngle(
back.ProjectOntoPlane(up), -target.forward.ProjectOntoPlane(up), up);
if (Mathf.Abs(angle) < UnityVectorExtensions.Epsilon)
recenter = false; // done!
// Do the recentering on all 3 rigs
angle = Damper.Damp(angle, recenterTime, Time.deltaTime);
for (int i = 0; recenter && i < 3; ++i)
{
Vector3 pos = rigs[i].transform.position - target.position;
pos = Quaternion.AngleAxis(angle, up) * pos;
rigs[i].transform.position = pos + target.position;
}
}
}
Comment
Your answer
Follow this Question
Related Questions
follow camera that rotates when i change direction 0 Answers
Rotating and Translating a GameObject in relation to an AR Camera in Unity/Vueforia 0 Answers
How to rotate camera around an object to a certain amount of degrees? 2 Answers
Automatic Camera Rotation in the 3D Game Kit 0 Answers
Third person camera similar to games like Monster Hunter, Devil May Cry, and Dark Souls 1 Answer