Hello,
I’m attempting to create some scripting in Unity that will allow me to interact with buttons in the environment while using the Oculus Rift headset. I currently have a crosshair that uses raycasting to place itself on the object that the player is currently looking at. However, I’m having trouble writing code to detect when the player clicks the mouse while the crosshair is over an object. What can I do to allow this interaction?
The code I have right now is posted below:
public class Reticle : MonoBehaviour {
// Use this for initialization
public Camera CameraFacing;
public GameObject button;
public RaycastHit hit;
private Vector3 originalScale;
void Start () {
originalScale = this.transform.localScale;
}//end Start
// Update is called once per frame
void Update () {
float distance;
if (Physics.Raycast (new Ray(CameraFacing.transform.position, CameraFacing.transform.rotation * Vector3.forward * 4.0f), out hit))
{
distance = hit.distance;
} else {
distance = CameraFacing.farClipPlane * 0.95f;
}//end if
this.transform.position = CameraFacing.transform.position + CameraFacing.transform.rotation * Vector3.forward * distance;
this.transform.LookAt(CameraFacing.transform.position);
this.transform.Rotate (0.0f, 180.0f, 0.0f);
this.transform.localScale = originalScale * distance;
}//end Update
void OnMouseDown() {
if(hit.collider.gameObject == button)
Debug.Log("You hit the button!");
}//end OnMouseDown
}//end Reticle Class
Thanks,
Jesse