- Home /
Raycast for touch
public class FrontMenu : MonoBehaviour { private Ray ray;
private RaycastHit hit;
void Update () {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit) && Input.GetMouseButtonDown(0) && hit.transform.name == "Play")
if(hit.transform.name == "Play")
Application.LoadLevel(1);
}
}
My game is set up in a fashion where I need to touch the screen in several different places at once, so I need to change what the raycast code I have been using (above) to a touch version that allows me to have multiple touches. Can anyone point me in the right direction on this?
Try casting the ray from touch point, ins$$anonymous$$d of screen point.
Answer by CupOfMayo · Sep 07, 2013 at 06:47 PM
Change this:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
To something like this:
Ray ray = Camera.main.ScreenPointToRay (Input.GetTouch(0).position);
Btw i asked a simillar question a bit time ago ;) http://answers.unity3d.com/questions/516822/destroying-object-by-touch-on-android-js.html Howewer I can't be sure if that will work for c#, I am just giving you an idea of doing things :)
Answer by codemaker2015 · Oct 05, 2020 at 12:07 PM
Try this one,
void Update () {
if ((Input.touchCount > 0) && (Input.GetTouch (0).phase == TouchPhase.Began)) {
Ray raycast = Camera.main.ScreenPointToRay (Input.GetTouch (0).position);
RaycastHit raycastHit;
if (Physics.Raycast (raycast, out raycastHit)) {
Debug.Log ("Something Hit " + raycastHit.collider.name);
switch(raycastHit.collider.name) {
case "Level1": Debug.Log("Level1 selected"); break;
case "Level2": Debug.Log("Level2 selected"); break;
case "Level3": Debug.Log("Level3 selected"); break;
case "Level4": Debug.Log("Level4 selected"); break;
case "Level5": Debug.Log("Level5 selected"); break;
default: Debug.Log("Wrong level selection");
}
}
}
}
Your answer
![](https://koobas.hobune.stream/wayback/20220613113742im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Touch dont work 1 Answer
Touch Crosshair problem. 1 Answer
Raycast on touch 3 Answers
How to touch select 3D objects 2 Answers
select and drag an object with touch 1 Answer