[ad_1]
I’m making an attempt to get the digicam to rotate in the direction of a location and place. Which works in the meanwhile, however as soon as it’s performed and re permits the mouse look script or bool within the script the mouse look overrides the rotation and units it again to the unique rotation it had when the rotation began.
if (lockedOn)
{
// Get the route to the goal
Vector3 route = goal.remodel.place - remodel.place;
// Calculate the rotation to face the goal
Quaternion rotationToTarget = Quaternion.LookRotation(route, Vector3.up);
// Rotate in the direction of the goal over time
remodel.rotation = Quaternion.RotateTowards(remodel.rotation, rotationToTarget, rotationSpeed * Time.deltaTime);
if (currentFOV >= closeFOV)
{
curRotation = remodel.rotation;
currentFOV -= fovSpeed * Time.deltaTime;
digicam.fieldOfView = currentFOV;
}
}
if (!lockedOn)
{
if (currentFOV <= startFOV)
{
currentFOV += fovSpeed * Time.deltaTime;
digicam.fieldOfView = currentFOV;
remodel.rotation = curRotation;
if (digicam.fieldOfView >= startFOV)
{
goal = null;
remodel.localRotation = curRotation;
mouseLook.lockControls = false;
}
}
}
if (removeFromCharacter)
{
// Distance moved equals elapsed time occasions pace..
float distCovered = (Time.time - startTime) * cameraMoveSpeed;
// Fraction of journey accomplished equals present distance divided by complete distance.
float fractionOfJourney = distCovered / journeyLength;
// Set our place as a fraction of the gap between the markers.
remodel.place = Vector3.Lerp(origCameraLocation.remodel.place, newCameraLocation.place, fractionOfJourney);
}
and the mouse look script
if(!lockControls)
{
// Get mouse enter
float mouseX = Enter.GetAxis("Mouse X");
float mouseY = Enter.GetAxis("Mouse Y");
// Rotate the participant's physique based mostly on horizontal mouse motion
playerBody.Rotate(Vector3.up * mouseX * sensitivity);
// Calculate the brand new vertical rotation
rotationX -= mouseY * sensitivity;
rotationX = Mathf.Clamp(rotationX, -verticalLookLimit, verticalLookLimit);
// Apply the rotations to the digicam and participant physique
remodel.localRotation = Quaternion.Euler(rotationX, 0f, 0f);
}
[ad_2]