// Sets controller models to be visible or not
    public void setControllerVisibility(HandVisibility visibility)
    {
        foreach (Renderer r in leftHand.GetComponentsInChildren <Renderer>())
        {
            r.enabled = (visibility == HandVisibility.real || visibility == HandVisibility.both);
        }
        foreach (Renderer r in rightHand.GetComponentsInChildren <Renderer>())
        {
            r.enabled = (visibility == HandVisibility.real || visibility == HandVisibility.both);
        }

        foreach (Renderer r in amplifiedLeft.GetComponentsInChildren <Renderer>())
        {
            r.enabled = (visibility == HandVisibility.amplified || visibility == HandVisibility.both);
        }
        foreach (Renderer r in amplifiedRight.GetComponentsInChildren <Renderer>())
        {
            r.enabled = (visibility == HandVisibility.amplified || visibility == HandVisibility.both);
        }

        originalControllerSetting = visibility;
        if (displayControllers != visibility)
        {
            displayControllers = visibility;
        }
    }
    void Start()
    {
        amplifiedLeft.tag  = "AmplifiedLeft";
        amplifiedRight.tag = "AmplifiedRight";

        originalControllerSetting = displayControllers;
        setControllerVisibility(displayControllers);

        leftStatusText.gameObject.transform.parent        = leftHand.transform;
        leftStatusText.gameObject.transform.localPosition = new Vector3(-0.07f, 0.01f, 0.115f);
        leftStatusText.gameObject.transform.localRotation = Quaternion.Euler(77f, 19f, 17f);
        leftStatusText.text = "Press X to calibrate";

        rightStatusText.transform.parent                   = rightHand.transform;
        rightStatusText.transform.localPosition            = new Vector3(-0.07f, 0.01f, 0.115f);
        rightStatusText.gameObject.transform.localRotation = Quaternion.Euler(77f, 19f, 17f);
        rightStatusText.text = "Press A to calibrate";

        // THIS WAS USED IN OUR EXPERIMENT. We generated a bunch of curves to run through.
        // AnimationCurve[] newCurves = CurveTester.shared.generateCurves();
        // for (int i = 1; i < newCurves.Length; i++){
        //     if (i < curves.Length){
        //         curves[i] = newCurves[i];
        //     }
        // }
    }