private void ShowLaser(RaycastHit hit)
    {
        //laserTransform.position = Vector3.Lerp(trackedObj.transform.position, hitPoint, .5f);


        //laserTransform.position = trackedObj.transform.position;
        //laserTransform.LookAt(hitPoint);
        //laserTransform.localScale = new Vector3(laserTransform.localScale.x, laserTransform.localScale.y,
        //  laserDist);
        if (hit.transform.name != "Bounds")
        {
            if (hit.transform.tag == "Node" || hit.transform.tag == "StudyNode")
            {
                if (Controller.GetPress(SteamVR_Controller.ButtonMask.Grip) && studyState == 0 || studyState == 2 && Controller.GetPress(SteamVR_Controller.ButtonMask.Trigger))
                {
                    Camera_System camera_sys       = Camera.main.GetComponent <Camera_System>();
                    Vector3       teleportPosition = hit.point;
                    camera_sys.FadeOutIn(teleportPosition);
                }
                if (lasered_node == null && laser_t <= 0 && userStudyRunning == false)
                {
                    lasered_node = hit.transform.GetComponent <VisualNode>();
                    lasered_node.OnLaserOver();
                    if (laser_t <= 0)
                    {
                        laser_t = 1f;
                    }
                }
                else
                {
                    if (lasered_node != null)
                    {
                        if (hit.transform == lasered_node.transform && laser_t < 0.5f && laser_t > 0.25f && lasered_node != null)
                        {
                            lasered_node.OnLaserExit();
                            lasered_node = null;
                        }
                        else
                        {
                            lasered_node.OnLaserExit();
                            lasered_node = hit.transform.GetComponent <VisualNode>();
                            lasered_node.OnLaserOver();
                            if (laser_t <= 0)
                            {
                                laser_t = 1f;
                            }
                        }
                    }
                }
            }

            if (Controller.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
            {
                hitTransform = hit.transform;
                if (hitTransform.tag != "cluster")
                {
                    // controller move right
                    if (velocity.x > 0.1f)
                    {
                        //hitTransform.position += new Vector3(0.1f, 0, 0);
                    }
                    // controller move left
                    if (velocity.x < -0.1f)
                    {
                        //hitTransform.position += new Vector3(-0.1f, 0, 0);
                    }
                }
                if (hitTransform.tag == "cluster" && userStudyRunning == false)
                {
                    if (c == null)
                    {
                        c = hit.transform.GetComponent <ClusterBehaviour>();
                        c.Highlight();
                    }
                    else
                    {
                        c.ExitHighlight();
                        print("exit_highlight");
                        c = null;
                        c = hit.transform.GetComponent <ClusterBehaviour>();
                        c.Highlight();
                    }
                }
            }
            else
            {
            }
        }
        else
        {
        }
    }