Help with losing WASD control when switching cameras
(Reposting in Help Room after accidentally posting in default and waiting forever for a mod)
Hi guys, as a hobby project I'm making a little biplane shooter. The problem I'm running into is when I switch to the cockpit camera from the 3rd person chase camera I lose the ability to control the plane with wasd, and the frame rate takes a huge dip. The switching is working as intended but I'm open to trying a different approach if I can optimize it in any way. Anyways, here is my code for switching the cameras -
public class CameraController : MonoBehaviour {
public Camera chaseCamera;
public Camera firstPersonCamera;
void Update () {
if(Input.GetKeyDown(KeyCode.V)) {
firstPersonCamera.gameObject.active = !firstPersonCamera.gameObject.active;
chaseCamera.gameObject.active = !firstPersonCamera.gameObject.active;
}
}
void ShowChaseView () {
firstPersonCamera.enabled = false;
chaseCamera.enabled = true;
}
void ShowFirstPersonView () {
firstPersonCamera.enabled = true;
chaseCamera.enabled = false;
}
}
And here is the plane control script -
public class PlaneControl : MonoBehaviour {
public float planeSpeed = 80.0f;
void Start () {
}
void Update () {
transform.position += transform.forward * Time.deltaTime * planeSpeed;
planeSpeed -= transform.forward.y * Time.deltaTime * 10.0f;
if (planeSpeed <= 30.0f) {
planeSpeed = 30.0f;
}
Vector3 moveCamTo = transform.position - transform.forward * 1f + Vector3.up * 5.0f;
float bias = 0.96f;
Camera.main.transform.position = Camera.main.transform.position * bias + moveCamTo * (1.0f - bias);
Camera.main.transform.LookAt(transform.position + transform.forward * 30.0f);
transform.Rotate(Input.GetAxis("Vertical"), 0.0f, -Input.GetAxis("Horizontal"));
}
}
Any help is really appreciated! I don't understand what would be causing this to not work. And additionally, the camera will sometimes be very far away from the plane and it takes a long time to readjust. How can I set a maximum distance the camera can be away from the plane? Thank you all!!
Your answer
Follow this Question
Related Questions
I can't see my First Person Controller 1 Answer
Mirror's Edge-style parkour roll 0 Answers
Need help with third person camera script! 2 Answers
Cannot Convert boolean to UnityEngine.GameObject 1 Answer
WASD and camera movement 1 Answer