public void UpdateEngine(Rigidbody rb, Drone_Inputs input)
        {
            // to help it float
            Vector3 upVector = transform.up;

            upVector.x = 0f;
            upVector.z = 0f;
            float diff      = 1 - upVector.magnitude;
            float finalDiff = Physics.gravity.magnitude * diff;

            Vector3 engineForce = Vector3.zero;

            engineForce = transform.up * ((rb.mass * Physics.gravity.magnitude + finalDiff) + (input.Throttle * maxPower)) / 4f;
            rb.AddForce(engineForce, ForceMode.Force);
            // induce psuedo drag
            if (input.Throttle == 0)
            {
                ticks++;
                if (ticks == 600)
                {
                    rb.angularVelocity = Vector3.zero;
                }
            }
            else
            {
                ticks = 0;
            }
            HandlePropellers();
        }
 // Start is called before the first frame update
 void Start()
 {
     input   = GetComponent <Drone_Inputs>();
     engines = GetComponentsInChildren <Engine>().ToList <Engine>();
     // myCamera = GameObject.FindWithTag("drone_cam").GetComponent<Camera>();
     myCamera = Camera.main;
 }