- Home /
On fov change, screen position out of view of frustum error
So im getting this error:
https://gyazo.com/7d7ea050be9516e3a961a4103f46d1e5
My script is this (it zooms and unzooms and if I spam it a lot and bring up the pause panel the camera totally glitches out and gives me that error). I tried the scene closing and reopening and restating unity, this is a new bug since I implimented the zoom feature. Any help would be greatly appreciated. :) Script (java):
private var baseFOV : float; private var speed : float = 37.5f;
function Start () {
baseFOV = Camera.main.fieldOfView;
}
function Update () {
if (Input.GetMouseButton(1))
{
Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView,40,Time.deltaTime*speed); Time.timeScale = 0.4f;
Time.fixedDeltaTime = 0.02f * Time.timeScale;
}
else {
Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView,baseFOV,Time.deltaTime*speed); Time.timeScale = 1;
Time.fixedDeltaTime = 0.02f * Time.timeScale;
}
}
Doubt it is related to your problem, but Time.fixedDeltaTime should not be changed manually, every frame like that, it should adjust based on timescale automatically. Also, it seems to have no purpose in your code.
First of all, you're using lerp wrong. Let's say Time.deltatime times speed is .5. That needs every frame you're cutting the fov difference in half. This means you're getting quite the jump from one fov to the other. I'd pass in a variable that you move between 0 and 1 when pressing and releasing buttons, that makes it smoother.
But for the error, better log a few values of the camera. The only time I saw this happening was when the camera rect was too small, but it's not what you're changing. Check it when that exactly happens.
Answer by Davinder_Singh · Jun 13, 2017 at 06:10 AM
I don't know how this error can be fixed but when i tried to run your script in my unity editor(in mono develop) to see the errors, it worked without any error and now I am using your code in my game. Because your code is much more efficient than what i wrote. Your code made difference of 16 lines in my script.
Thanks for your help :) ;)
:) but spam it, press your pause menu and un pause lots and jump around, you may get that error but if not then feel free to use it!