- Home /
 
 
               Question by 
               Kaosaurus · Jul 15, 2013 at 01:19 PM · 
                javascripterroranswer  
              
 
              Assets/Scripts/CarCameraScript.js(35,33) '+' Cannot be used with a left hand side of type 'float' and a right hand side of type 'UnityEngine.Vector3' Help?
 #pragma strict
 var car : Transform;
 var distance : float = 6.4;
 var height : float = 1.4;
 var rotationDamping : float = 3.0;
 var heightDamping : float = 2.0;
 var zoomRatio : float = 0.5;
 var DefaultFOV : float = 60;
 private var rotationVector : Vector3;
 function Start () {
 }
 
 function LateUpdate () {
 var wantedAngle = rotationVector.y;
 var wantedHeight = car.position.y + height;
 var myAngle = transform.eulerAngles.y;
 var myHeight = transform.position.y;
 myAngle = Mathf.LerpAngle(myAngle,wantedAngle,rotationDamping*Time.deltaTime);
 myHeight = Mathf.Lerp(myHeight,wantedHeight,heightDamping*Time.deltaTime);
 var currentRotation = Quaternion.Euler(0,myAngle,0);
 transform.position = car.position;
 transform.position -= currentRotation*Vector3.forward*distance;
 transform.position.y = myHeight;
 transform.LookAt(car);
 }
 function FixedUpdate (){
 var localVilocity = car.InverseTransformDirection(car.rigidbody.velocity);
 if (localVilocity.z<-0.5){
 rotationVector.y = car.eulerAngles.y + 180;
 }
 else {
 rotationVector.y = car.eulerAngles.y;
 }
 var acc = car.rigidbody.velocity;
 camera.fieldOfView = DefaultFOV + acc*zoomRatio;
 }
 
              
               Comment
              
 
               
              rigidbody.velocity is a Vector3. Assign one of the velocity's axes to acc.
 var acc = car.rigidbody.velocity.x;
 // or
 var acc = car.rigidbody.velocity.y;
 // or
 var acc = car.rigidbody.velocity.z;
 // or
 var acc = car.rigidbody.velocity.magnitude;
 
                 Answer by EHogger · Jul 15, 2013 at 01:27 PM
The problem is exactly as the error message states. You can't add a float to a vector3.
 var DefaultFOV : float = 60; // <--- This is a float
 var acc = car.rigidbody.velocity; // <--- this is a vector3
 camera.fieldOfView = DefaultFOV + acc*zoomRatio; // <--- this line won't work.
 
               You probably want to use car.rigidbody.velocity.magnitude instead. 
Your answer
 
             Follow this Question
Related Questions
How to make animations only play with script? 1 Answer
Unity fails to recognize Maya models/Unity scenes 1 Answer
When i call some variables to an other second script i have a problem 1 Answer
Problems with creating custom EditorGUI for script 0 Answers
BCE0044 expecting ), found 'script' and BCE0043 unexpected token ) 2 Answers