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 { } }