I’m trying to constrain my camera position between boundaries but when I call transform.position.x or transform.position.z the camera won’t move. Here’s the script:
#pragma strict
var speed = 20.0;
var cam = Camera.mainCamera;
function Update () {
var x = Input.GetAxis(“Horizontal”) * Time.deltaTime * speed;
var z = Input.GetAxis(“Vertical”) * Time.deltaTime * speed;
var xPos = cam.transform.position.x;
var zPos = cam.transform.position.z;
if(xPos > 2100 && xPos < 5100) {
transform.Translate(x, 0, z, Space.World);
}
}
If I put the translate call before setting the xPos and zPos vars it works, but afterwards the script doesn’t work. It makes no sense to me.
Thanks for the help!
well, I guess the camera’s x position is not between 2100 and 5100… I bet if you get rid of this line : if(xPos > 2100 && xPos < 5100)
it’ll work
you should be able to see exactly what the position x is on the camera by keeping an eye on it in the inspector, that should help you set the correct limits
The Camera lies within those bounds…even if i take the if statement out and just have the translate call after the pos var declaration it doesn’t do anything. if i put the translate call before the pos var declarations it works…it doesn’t make sense
I figured it out…apparently since I had the script attached to the camera in the first place I just had to get rid of the “cam” variable declaration and it worked like a charm.