I have an edited version of the MouseOrbit script in my scene which turns the camera’s positions into variables in the inspector. Here’s that version of it (The positions are called xOffset and yOffset)…
var target : Transform;
var distance = 10.0;
var xOffset = 0.0;
var yOffset = 0.0;
var xSpeed = 250.0;
var ySpeed = 120.0;
var yMinLimit = -20;
var yMaxLimit = 80;
private var x = 0.0;
private var y = 0.0;
@script AddComponentMenu("Camera-Control/Mouse Orbit")
function Start () {
var angles = transform.eulerAngles;
x = angles.y;
y = angles.x;
// Make the rigid body not change rotation
if (GetComponent.<Rigidbody>())
GetComponent.<Rigidbody>().freezeRotation = true;
}
function LateUpdate () {
if (target) {
x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
y = ClampAngle(y, yMinLimit, yMaxLimit);
var rotation = Quaternion.Euler(y, x, 0);
var position = rotation * Vector3(xOffset,yOffset,-distance)+ target.position;
}
transform.rotation = rotation;
transform.position = position;
}
static function ClampAngle (angle : float, min : float, max : float) {
if (angle < -360)
angle += 360;
if (angle > 360)
angle -= 360;
return Mathf.Clamp (angle, min, max);
}
What would I add to this script, or in a separate script to make the varriable xOffset smooth toggle from 0.9 to -0.9 when the input “Switch Shoulders” is pressed?
Also, if it’s no trouble, could you fill in the numbers and the input where it’s needed. Whenever I try, I always miss something. The xOffsets are 0.9 and -0.9 and the input is name “Switch Shoulders”.