// Use this for initialization void Start() { m_TrackedObj = GetComponent<SteamVR_TrackedObject>(); m_TrackedCtl = GetComponent<SteamVR_TrackedController>(); m_Hand = GetComponent<NewtonVR.NVRHand>(); m_TrackedCtl.TriggerClicked += TriggerDown; m_TrackedCtl.TriggerUnclicked += TriggerUp; m_ColliderList = GetComponentsInChildren<Collider>(); }
void Update() { SteamVR_ControllerManager manager = GetComponent<SteamVR_ControllerManager>(); if (manager.right.activeInHierarchy) { TrackedController = manager.right.GetComponent<SteamVR_TrackedController>(); TrackedObject = manager.right.GetComponent<SteamVR_TrackedObject>(); } else if (manager.left.activeInHierarchy) { TrackedController = manager.left.GetComponent<SteamVR_TrackedController>(); TrackedObject = manager.left.GetComponent<SteamVR_TrackedObject>(); } else { TrackedController = null; TrackedObject = null; } }
private void OnEnable() { _controller = GetComponent <SteamVR_TrackedController>(); _controller.TriggerClicked += HandleTriggerClicked; //_controller.PadClicked += HandlePadClicked; }
// Use this for initialization void Start() { controller = this.GetComponent <SteamVR_TrackedController>(); device = SteamVR_Controller.Input((int)controller.controllerIndex); firstHaptic = false; }
private void OnEnable() { controller = transform.parent.GetComponent <SteamVR_TrackedController>(); controller.TriggerClicked += HandleTriggerClick; controller.TriggerUnclicked += HandleTriggerUnclick; }
private void Start() { m_controller = GetComponent <SteamVR_TrackedController>(); }
// Use this for initialization void Start() { RealHand = GameObject.Find(RealHandName); VRJoystickTracker = gameObject.GetComponent <SteamVR_TrackedController>(); }
private float m_SavedSpeed = 0; // Saved player movement speed #endregion void Awake() { #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [0] :: Debugging Enabled\r\n"); DebugLogger.Log("[ShowMenu.cs] :: [1] :: Beginning Initializations...\r\n"); DebugLogger.Log("[ShowMenu.cs] :: [1.1] :: Looking For Controllers...\r\n"); #endregion if (m_LeftController.activeSelf && !m_RightController.activeSelf) { m_DeviceLeft = m_LeftController.GetComponent <SteamVR_TrackedController>(); #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.2] :: Left Controller Found\r\n\r\n"); #endregion } else if (m_RightController.activeSelf && !m_LeftController.activeSelf) { m_DeviceRight = m_RightController.GetComponent <SteamVR_TrackedController>(); #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.2] :: Right Controller Found\r\n\r\n"); #endregion } else { m_DeviceLeft = m_LeftController.GetComponent <SteamVR_TrackedController>(); m_DeviceRight = m_RightController.GetComponent <SteamVR_TrackedController>(); #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.2] :: Left & Right Controllers Found\r\n\r\n"); #endregion } #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.3] :: Setting-Up Controller Triggered Events...\r\n"); #endregion // Make sure to handle, all, or one or the other cases if (m_DeviceRight != null && m_DeviceLeft == null) { m_DeviceRight.Gripped += OnGripPress; #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.4] :: Right Controller Triggers Set\r\n\r\n"); #endregion } else if (m_DeviceLeft != null && m_DeviceRight == null) { m_DeviceLeft.Gripped += OnGripPress; #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.4] :: Left Controller Triggers Set\r\n\r\n"); #endregion } else { m_DeviceLeft.Gripped += OnGripPress; m_DeviceRight.Gripped += OnGripPress; m_DeviceLeft.PadClicked += OnPadClick; m_DeviceRight.PadClicked += OnPadClick; #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.4] :: Left & Right Triggers Set\r\n\r\n"); #endregion } m_MenuItems.Init(); // start with the menu inactive PlayerPrefs.SetString("Type", "Free Calibration"); #region /* Debug Print */ DebugLogger.Log("[ShowMenu.cs] :: [1.5] :: Initializations Completed\r\n\r\n"); #endregion gameObject.SetActive(false); }
// Use this for initialization void Start() { VRJoystickTracker = gameObject.GetComponent <SteamVR_TrackedController>(); }
private void Awake() { controller = controllerLeft.GetComponent <SteamVR_TrackedController>(); controller.TriggerClicked += HandleShoot; trackedObj = controllerLeft.GetComponent <SteamVR_TrackedObject>(); }
// Update is called once per frame void Update() { if (!isActive) { isActive = true; this.transform.GetChild(0).gameObject.SetActive(true); } float dist = 100f; SteamVR_TrackedController controller = GetComponent <SteamVR_TrackedController>(); Ray raycast = new Ray(transform.position, transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); if (previousContact && previousContact != hit.transform) { //print("contacto");//se entra en este f cuando se termina el contacto PointerEventArgs args = new PointerEventArgs(); if (controller != null) { args.controllerIndex = controller.controllerIndex; } args.distance = 0f; args.flags = 0; args.target = previousContact; OnPointerOut(args); previousContact = null; } if (bHit && previousContact != hit.transform) { print("Contacto"); PointerEventArgs argsIn = new PointerEventArgs(); if (controller != null) { argsIn.controllerIndex = controller.controllerIndex; } argsIn.distance = hit.distance; argsIn.flags = 0; argsIn.target = hit.transform; OnPointerIn(argsIn); previousContact = hit.transform; //modificaciones propias Nodo nodoS = previousContact.GetComponent <Nodo>(); if (nodoS) { nodoS.mostrarTexto(); } } if (!bHit) { previousContact = null; } if (bHit && hit.distance < 100f) { dist = hit.distance; } if (controller != null && controller.triggerPressed) { pointer.transform.localScale = new Vector3(thickness * 5f, thickness * 5f, dist); } else { pointer.transform.localScale = new Vector3(thickness, thickness, dist); } pointer.transform.localPosition = new Vector3(0f, 0f, dist / 2f); }
// Use this for initialization void Awake() { controller = controllerRight.GetComponent <SteamVR_TrackedController>(); controller.MenuButtonClicked += MenuPressed; }
// Use this for initialization void Start() { trackcontroller = GetComponent <SteamVR_TrackedController> (); }
// Use this for initialization void Start() { controller = GetComponent <SteamVR_TrackedController>(); controller.TriggerClicked += HandleTriggerClicked; }
// Update is called once per frame void Update() { GameObject lCont = GameObject.Find("Controller (left)"); GameObject rCont = GameObject.Find("Controller (right)"); LVRcontroller = lCont.GetComponent <SteamVR_TrackedController>(); RVRcontroller = rCont.GetComponent <SteamVR_TrackedController>(); //APPLY GRAVITY float drop_height = GameObject.Find("Capsule").transform.position.y; if (moveDirection.y > gravity * -1) { moveDirection.y -= gravity * Time.deltaTime; } controller.Move(moveDirection * Time.deltaTime); var left = transform.TransformDirection(Vector3.left); /*if(controller.isGrounded) { * if(Input.GetKeyDown(KeyCode.Space)) { * moveDirection.y = speed; * } * else if(Input.GetKey("w")) { * if(Input.GetKey(KeyCode.LeftShift)) { * controller.SimpleMove(transform.forward * speed * 2); * } * else { * controller.SimpleMove(transform.forward * speed); * } * } * else if(Input.GetKey("s")) { * if(Input.GetKey(KeyCode.LeftShift)) { * controller.SimpleMove(transform.forward * -speed * 2); * } * else { * controller.SimpleMove(transform.forward * -speed); * } * } * else if(Input.GetKey("a")) { * if(Input.GetKey(KeyCode.LeftShift)) { * controller.SimpleMove(left * speed * 2); * } * else { * controller.SimpleMove(left * speed); * } * } * else if(Input.GetKey("d")) { * if(Input.GetKey(KeyCode.LeftShift)) { * controller.SimpleMove(left * -speed * 2); * } * else { * controller.SimpleMove(left * -speed); * } * } * } * else { * if(Input.GetKey("w")) { * Vector3 relative = new Vector3(); * relative = transform.TransformDirection(0, 0, 1); * if(Input.GetKey(KeyCode.LeftShift)) { * controller.Move(relative * Time.deltaTime * speed * 2); * } * else { * controller.Move(relative * Time.deltaTime * speed); * } * } * }*///Commented out some of previous code due to steering implementation replacing it. //Project a message to person at computer to deploy parachute and save his life if (drop_height <= 2500.00 && !isParachuteDeployed) { onGuiShow = true;//Displays message } else { onGuiShow = false; onParachuteDeployedGuiShow = false; } if (isParachuteDeployed && hasJumped) { //steer parachute. float leftY = GameObject.Find("Controller (left)").transform.position.y; float rightY = GameObject.Find("Controller (right)").transform.position.y; float leftRight = leftY - rightY; float scale = Mathf.Abs(leftRight * .5f); if (controller.isGrounded)//If you're on the ground, walk around by pressing either pad. //Steering implemented with vive headset. { if (LVRcontroller.padPressed || RVRcontroller.padPressed) { GameObject.Find("[CameraRig]").transform.localPosition -= new Vector3(GameObject.Find("Camera (eye)").transform.forward.x * .05f, 0, GameObject.Find("Camera (eye)").transform.forward.z * .05f); } } else { if (leftRight < 0) { //transform around forward's x-axis and forward. GameObject.Find("[CameraRig]").transform.localRotation = Quaternion.Euler(30f * scale * GameObject.Find("Camera (eye)").transform.forward.x, GameObject.Find("Camera (eye)").transform.forward.y + 300f * scale, 30f * scale * GameObject.Find("Camera (eye)").transform.forward.z); GameObject.Find("[CameraRig]").transform.localPosition += new Vector3(-GameObject.Find("Camera (eye)").transform.forward.x * .2f, 0.0f, -GameObject.Find("Camera (eye)").transform.forward.z * .1f); } else if (leftRight > 0) { GameObject.Find("[CameraRig]").transform.localRotation = Quaternion.Euler(-30f * scale * GameObject.Find("Camera (eye)").transform.forward.x, GameObject.Find("Camera (eye)").transform.forward.y - 300f * scale, -30f * scale * GameObject.Find("Camera (eye)").transform.forward.z); //GameObject.Find("[CameraRig]").transform.Rotate(0f, scale * -300f, 0f); GameObject.Find("[CameraRig]").transform.localPosition += new Vector3(-GameObject.Find("Camera (eye)").transform.forward.x * .2f, 0.0f, -GameObject.Find("Camera (eye)").transform.forward.z * .1f); } } } if (LVRcontroller.padPressed || RVRcontroller.padPressed) { //Debug.Log("Pad Clicked");[email protected] if (!hasJumped)//JUMP OUT OF HELICOPTER!!! (Press pad on vive controller) { GameObject.Find("[CameraRig]").transform.Rotate(90.0f, 0.0f, 0.0f); hasJumped = true; gravity = 100; } } if (hasJumped && (LVRcontroller.triggerPressed || RVRcontroller.triggerPressed)) { //Debug.Log("Trigger Clicked"); if (!isParachuteDeployed)//DEPLOY PARACHUTE!!! (Press trigger on vive controller) { moveDirection = Vector3.zero; gravity = 15; GameObject.Find("[CameraRig]").transform.Rotate(90.0f, 0.0f, 0.0f); onGuiShow = false; isParachuteDeployed = true; } else { onGuiShow = false; onParachuteDeployedGuiShow = true; } } }
void Start() { controller = GetComponent <SteamVR_TrackedController>(); controller.TriggerClicked += OnTriggerClicked; // Also check the rest of the events. }
/*! * \brief Check to see whether a furniture object has been clone or from catalog menu * \details loads menu prefab, allows object */ void Start() { contextMenuPrefab = Resources.Load("UI Prefabs/ContextMenu") as GameObject; id = GetComponent <ObjectCategory>().objectID; List <Material> materials = gameObject.GetComponent <MeshRenderer>().materials.Cast <Material>().ToList(); List <Material> newMaterials = gameObject.GetComponent <MeshRenderer>().materials.Cast <Material>().ToList(); if (!isClone) //If it is a clone, material arrays are being set be equal to the cloned object to prevent object from always being highlighted { newMaterials.Add(highlightMaterial); } else { materials.RemoveAt(materials.Count - 1); pointer.PointerIn += OnHover; pointer.PointerOut += OffHover; controllerInput.PadClicked += OnPadClicked; } materialArrayWithHighlight = newMaterials.ToArray(); materialArray = materials.ToArray(); if (isClone) { pointer.PointerIn += OnHover; pointer.PointerOut += OffHover; controllerInput.PadClicked += OnPadClicked; //isClone = false; } GameObject controllerObject = GameObject.FindGameObjectWithTag("Right Controller"); if (controller == null) { controller = controllerObject.GetComponent <SteamVR_TrackedObject>(); } if (controllerInput == null) { controllerInput = controllerObject.GetComponent <SteamVR_TrackedController>(); controllerInput.PadClicked += OnPadClicked; } if (pointer == null) { pointer = controllerObject.GetComponent <SteamVR_LaserPointer>(); pointer.PointerIn += OnHover; pointer.PointerOut += OffHover; } ObjectIdentifier objectIdentifier = gameObject.GetComponent <ObjectIdentifier>(); objectIdentifier.id = gameObject.GetComponent <ObjectCategory>().objectID.ToString(); objectIdentifier.componentSaveMode = ObjectIdentifier.ComponentSaveMode.All; try { GetComponent <MeshRenderer>().sharedMaterial = new Material(GetComponent <MeshRenderer>().sharedMaterial); } catch { MeshRenderer[] renders = GetComponentsInChildren <MeshRenderer>(); foreach (MeshRenderer renderer in renders) { renderer.sharedMaterial = new Material(renderer.sharedMaterial); } } UnityEditor.PrefabUtility.DisconnectPrefabInstance(this); }
private void OnEnable() { device = GetComponent <SteamVR_TrackedController>(); device.TriggerClicked += HandleTriggerClicked; device.TriggerUnclicked += HandleTriggerUnclicked; }
void Start() { controller = controllerRight.GetComponent <SteamVR_TrackedController>(); obj = controllerRight.GetComponent <SteamVR_TrackedObject>(); }
// Use this for initialization void Start() { //StartCoroutine(Leave()); right = GetComponent <SteamVR_TrackedController>(); left = otherHand.GetComponent <SteamVR_TrackedController>(); }
// Update is called once per frame void Update() { // finds all of the controllers in contact with the lever that have the trigger pressed int numActive = 0; Vector3 controllerPos = Vector3.zero; foreach (Transform t in touchingControllers) { SteamVR_TrackedController controller = t.GetComponent <SteamVR_TrackedController>(); if (controller == null) { Debug.LogWarning("No TrackedController script found!"); } if (controller != null && controller.triggerPressed) { controllerPos += controller.transform.position; numActive++; } } //Debug.Log("Controller Count: " + touchingControllers.Count); if (numActive > 0 && AcceptingInput) { controllerPos /= numActive; // gets average position of touching controllers with pulled trigger Vector3 centralAnchor = (ForwardAnchor.position + RearAnchor.position) / 2; Vector3 forwardDirection = (ForwardAnchor.position - RearAnchor.position).normalized; //calculates where the controller should be moved to (nearest point to average controller position on line between forward and rear anchors) float nextOffset = Mathf.Clamp(Vector3.Dot(controllerPos - centralAnchor, forwardDirection) / maxOffsetDistance, MIN_OFFSET, MAX_OFFSET); // vibrates controller if you pass a vibration point on the lever bool vibrateController = false; if (nextOffset > STOP_MAX || currentOffset > STOP_MAX) { float distInc = (MAX_OFFSET - STOP_MAX) / NUM_VIB; float oldInc = Mathf.Floor((currentOffset - STOP_MAX) / distInc); float newInc = Mathf.Floor((nextOffset - STOP_MAX) / distInc); vibrateController = (oldInc != newInc); } else if (nextOffset < STOP_MIN || currentOffset < STOP_MIN) { float distInc = (STOP_MIN - MIN_OFFSET) / NUM_VIB; float oldInc = Mathf.Floor((STOP_MIN - currentOffset) / distInc); float newInc = Mathf.Floor((STOP_MIN - nextOffset) / distInc); vibrateController = (oldInc != newInc); } //updates the lever's positon transform.position = Vector3.Lerp(RearAnchor.position, ForwardAnchor.position, nextOffset / 2.0f + 0.5f); currentOffset = nextOffset; //vibrates the controller if a vibration point is passed if (vibrateController) { //Debug.Log("Should vibrate here"); foreach (Transform controller in touchingControllers) { SteamVR_Controller.Input((int)controller.GetComponent <SteamVR_TrackedController>().controllerIndex).TriggerHapticPulse(VIB_INTENSITY); } } } // updates the speed of the ship if there's a valid orbitManager if (orbitManager != null) { //calculates the desired speed from the lever's positon if (currentOffset > STOP_MAX && currentOffset <= MAX_OFFSET + FP_TOLERANCE) { orbitManager.LinearSpeed = (currentOffset - STOP_MAX) / (MAX_OFFSET - STOP_MAX) * MAX_SPEED; } else if (currentOffset < STOP_MIN && currentOffset >= MIN_OFFSET - FP_TOLERANCE) { orbitManager.LinearSpeed = (currentOffset - STOP_MIN) / (STOP_MIN - MIN_OFFSET) * MAX_SPEED; } else { orbitManager.LinearSpeed = 0.0f; //moves controller to exact center if you let go of it the zone considered 'stop' or '0 speed' if (numActive <= 0 && AcceptingInput && Mathf.Abs(currentOffset - (STOP_MAX + STOP_MIN) / 2.0f) > FP_TOLERANCE) { SetThrottle(0.0f); } } //updates the speed label SetLabel(orbitManager.LinearSpeed); } }
private void OnEnable() { _controller = GetComponent <SteamVR_TrackedController>(); _controller.TriggerClicked += Place; }
void Start() { controller = GetComponent <SteamVR_TrackedController>(); controller.TriggerClicked += Controller_TriggerClicked; controller.TriggerUnclicked += Controller_TriggerUnclicked;; }
void Start() { device = GetComponent <SteamVR_TrackedController>(); laserPointedObj = GetComponent <SteamVR_ControllerPointerEvents_ObjectNamePopUp>(); device.TriggerClicked += Trigger; }
private void OnEnable() { controller = GetComponent <SteamVR_TrackedController>(); controller.PadClicked += PadClicked; }
private void OnEnable() { controller = GetComponent <SteamVR_TrackedController>(); body = transform.GetComponentInParent <Rigidbody>();; }
void Start() { controller = GetComponent <SteamVR_TrackedController>(); previousTouched = false; }
// Update is called once per frame void Update() { if (laserActive) { if (!isActive) { isActive = true; this.transform.GetChild(0).gameObject.SetActive(true); } float dist = 100f; SteamVR_TrackedController controller = GetComponent <SteamVR_TrackedController>(); SteamVR_TrackedObject trackedObj = GetComponent <SteamVR_TrackedObject>(); var device = SteamVR_Controller.Input((int)trackedObj.index); Ray raycast = new Ray(transform.position, transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); //Tutorial button checks if (GameObject.Find("Tutorial Manager").GetComponent <TutorialManager>().tutorialState == 9) { if (Physics.Raycast(transform.position, transform.forward, out hit) && hit.transform.gameObject == continueButton) { Debug.Log("ContinueButton"); hit.transform.gameObject.GetComponent <SpriteRenderer>().sprite = darkSprite; if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Trigger)) { SceneManager.LoadScene("VRScene"); } } else if (Physics.Raycast(transform.position, transform.forward, out hit) && hit.transform.gameObject == resetButton) { Debug.Log("ResetButton"); hit.transform.gameObject.GetComponent <SpriteRenderer>().sprite = darkSprite; if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Trigger)) { continueButton.SetActive(false); resetButton.SetActive(false); SceneManager.LoadScene("TutorialScene"); } } else { continueButton.gameObject.GetComponent <SpriteRenderer>().sprite = lightSprite; resetButton.gameObject.GetComponent <SpriteRenderer>().sprite = lightSprite; } } if (previousContact && previousContact != hit.transform) { PointerEventArgs args = new PointerEventArgs(); if (controller != null) { args.controllerIndex = controller.controllerIndex; } args.distance = 0f; args.flags = 0; args.target = previousContact; OnPointerOut(args); previousContact = null; } if (bHit && previousContact != hit.transform) { PointerEventArgs argsIn = new PointerEventArgs(); if (controller != null) { argsIn.controllerIndex = controller.controllerIndex; } argsIn.distance = hit.distance; argsIn.flags = 0; argsIn.target = hit.transform; OnPointerIn(argsIn); previousContact = hit.transform; } if (!bHit) { previousContact = null; } if (bHit && hit.distance < 100f) { dist = hit.distance; } if (controller != null && controller.triggerPressed) { pointer.transform.localScale = new Vector3(thickness * 5f, thickness * 5f, dist); } else { pointer.transform.localScale = new Vector3(thickness, thickness, dist); } pointer.transform.localPosition = new Vector3(0f, 0f, dist / 2f); } }
// Update is called once per frame void Update() { /* * if(!active) * { * pointer.transform.localScale = Vector3.zero; * return; * } */ if (!isActive) { isActive = true; this.transform.GetChild(0).gameObject.SetActive(true); } float dist = 100f; SteamVR_TrackedController controller = GetComponent <SteamVR_TrackedController>(); Ray raycast = new Ray(transform.position, transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); if (!bHit || hit.collider.gameObject.tag != "VRUI") { pointer.transform.localScale = Vector3.zero; return; } if (previousContact && previousContact != hit.transform) { PointerEventArgs args = new PointerEventArgs(); if (controller != null) { args.controllerIndex = controller.controllerIndex; } args.distance = 0f; args.flags = 0; args.target = previousContact; OnPointerOut(args); previousContact = null; } if (bHit && previousContact != hit.transform) { PointerEventArgs argsIn = new PointerEventArgs(); if (controller != null) { argsIn.controllerIndex = controller.controllerIndex; } argsIn.distance = hit.distance; argsIn.flags = 0; argsIn.target = hit.transform; OnPointerIn(argsIn); previousContact = hit.transform; } if (!bHit) { previousContact = null; } if (bHit && hit.distance < 100f) { dist = hit.distance; } if (controller != null && controller.triggerPressed) { pointer.transform.localScale = new Vector3(thickness * 5f, thickness * 5f, dist); } else { pointer.transform.localScale = new Vector3(thickness, thickness, dist); } pointer.transform.localPosition = new Vector3(0f, 0f, dist / 2f); }
void ChangeColor(SteamVR_TrackedController sender) { GetComponent <MeshRenderer>().material.color = Random.ColorHSV(); }
// Use this for initialization void Start() { vrgrabbing = GetComponentInChildren <VRGrabbing> (); trackedcontroller = GetComponent <SteamVR_TrackedController> (); }
// Update is called once per frame void Update() { if (active != isActive) { isActive = active; pointer?.SetActive(isActive); } if (!isActive) { return; } float dist = 100f; SteamVR_TrackedController controller = GetComponent <SteamVR_TrackedController>(); Ray raycast = new Ray(transform.position, transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); if (previousContact && previousContact != hit.transform) { PointerEventArgs args = new PointerEventArgs(); if (controller != null) { args.controllerIndex = controller.controllerIndex; } args.distance = 0f; args.flags = 0; args.target = previousContact; OnPointerOut(args); previousContact = null; } if (bHit && previousContact != hit.transform) { PointerEventArgs argsIn = new PointerEventArgs(); if (controller != null) { argsIn.controllerIndex = controller.controllerIndex; } argsIn.distance = hit.distance; argsIn.flags = 0; argsIn.target = hit.transform; if (argsIn.target.tag == "nonMoveableVertex") { return; } OnPointerIn(argsIn); previousContact = hit.transform; } if (!bHit) { previousContact = null; } if (bHit && hit.distance < 100f) { dist = hit.distance; } if (controller != null && controller.triggerPressed) { pointer.transform.localScale = new Vector3(thickness * 5f, thickness * 5f, dist); } else { pointer.transform.localScale = new Vector3(thickness, thickness, dist); } pointer.transform.localPosition = new Vector3(0f, 0f, dist / 2f); }