- Home /
Convert type UnityEngine.Vector3' to float' Error
So I have some code where the camera is shaking and my error is:
Assets/Scripts/CameraShake.cs(33,25): error CS0029: Cannot implicitly convert type UnityEngine.Vector3' to float'
The error shows up on the lines where I multiply the x and y variables with the damper, magnitude, and the originalCamPos. If you have any idea why this is happening, it would be greatly appreciated. Thanks!
public float duration = 0.5f;
public float speedBump = 1.0f;
public float magnitude = 0.1f;
void Update(){
if(Input.GetButtonDown("Fire2")){
StartCoroutine(Shake());
}
}
IEnumerator Shake() {
float elapsed = 0.0f;
Vector3 originalCamPos = Camera.main.transform.position;
while (elapsed < duration) {
elapsed += Time.deltaTime;
float percentComplete = elapsed / duration;
float damper = 1.0f - Mathf.Clamp(4.0f * percentComplete - 3.0f, 0.0f, 1.0f);
// map value to [-1, 1]
var x = Random.value * 2.0f - 1.0f;
var y = Random.value * 2.0f - 1.0f;
x *= magnitude * damper * originalCamPos;
y *= magnitude * damper * originalCamPos;
Camera.main.transform.position = new Vector3(x, y, originalCamPos.z);
yield return null;
}
}
you are asking unity to multiply by a Vector3, this is not possible in your circumstance, as you are expecting a single value to be returned, math on a Vector3 should be stored in a Vector3 like
Vector3 test$$anonymous$$ath = Vector3.Up * 20;
your line may need to read
x *= magnitude * damper * originalCamPos.x;
and
y *= magnitude * damper * originalCamPos.y;
Answer by mattyman174 · Dec 02, 2014 at 02:27 AM
x *= magnitude * damper * originalCamPos;
y *= magnitude * damper * originalCamPos;
originalCamPos is a Vector3 not a Float.
Did you mean to do the following?
x *= magnitude * damper * originalCamPos.x;
y *= magnitude * damper * originalCamPos.y;
Your answer
Follow this Question
Related Questions
RTS Camera movement wrong after rotation 1 Answer
How do I program camera movement 2 Answers
Object not centering with screen.width/2 0 Answers
Multiple Cars not working 1 Answer
Camera shake while following Player 1 Answer