- Home /
Screen position out of view frustum error on FOV change?
So I have a zoom script, here it is:
(Javascript) private var baseFOV : float; public var speedIn : float; public var speedOut : float; public var newFOV :float;
function Start () {
baseFOV = Camera.main.fieldOfView;
}
function Update () {
if (Input.GetMouseButton(1))
{
Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView,newFOV,Time.deltaTime*speedIn);
Time.timeScale = 0.4f;
Time.fixedDeltaTime = 0.02f * Time.timeScale;
}
else {
Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView,baseFOV,Time.deltaTime*speedOut);
Time.timeScale = 1;
Time.fixedDeltaTime = 0.02f * Time.timeScale;
}
}
I'm using the FPS Controller too btw, this is an aim script. It slows the game while it is zoomed, one thing I noticed is that if I spam "P" (which is my pause aka Time.timeScale = 0;), then the screen goes white besides my pause splash screen and the error comes. I've tried resetting the scene thing and all those things, it isnt a bug I dont think, Im pretty sure it is a real error and if anyone has any info or help please provide it, thank you!
P.S. Here is my pause script if that is needed: (C#)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;
public class PauseGame : MonoBehaviour
{
private FirstPersonController myControl;
public GameObject m9;
public GameObject PauseThing;
public GameObject music;
private bool onoff;
private void Awake()
{
myControl = GameObject.Find("FPSController").GetComponent<FirstPersonController>();
}
void Start()
{
PauseThing.SetActive(false);
}
void Update()
{
PauseTheGame();
}
void PauseTheGame()
{
if (Input.GetKeyDown("p"))
{
onoff = !onoff;
if (onoff)
{
Time.timeScale = 0;
myControl.m_MouseLook.XSensitivity = 0;
myControl.m_MouseLook.YSensitivity = 0;
m9.SetActive(false);
music.SetActive(false);
PauseThing.SetActive(true);
}
else
{
Time.timeScale = 1;
myControl.m_MouseLook.XSensitivity = 2;
myControl.m_MouseLook.YSensitivity = 2;
m9.SetActive(true);
music.SetActive(true);
PauseThing.SetActive(false);
}
}
if (Input.GetKey(KeyCode.Escape))
{
Time.timeScale = 1;
myControl.m_MouseLook.XSensitivity = 2;
myControl.m_MouseLook.YSensitivity = 2;
m9.SetActive(true);
music.SetActive(true);
PauseThing.SetActive(false);
}
}
}
Comment