Mon clic de souris, appuyez sur l'événement ne reconnaît pas l'objet de jeu correct ....

je ne peux vraiment pas comprendre pourquoi

mon code est exactement ce que j'ai vu dans de nombreuses recherches google

j'ai debug.logged plusieurs variations essayant juste d'obtenir l'objet de jeu sur lequel je tape

// take_merchandise
// params: none
// functions : temporarily will rely on a click event and grab the merchandise from a cart
// returns: none
private void take_merchandise()
{


    if (Input.GetMouseButtonDown(0))
    {
        Ray tap = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;


        if (Physics.Raycast(tap, out hit))
        {
            Debug.Log(hit.transform.name);
        }

    }
}

je reçois le mauvais objet de jeu

0
thomedy 3 nov. 2019 à 18:04

1 réponse

Camera.main recherche la première caméra de votre hiérarchie qui a la balise "MainCamera".

Si vous utilisez plusieurs caméras, cela devient un problème. La solution consiste à utiliser d'autres caméras dans votre script ou à étiqueter toutes les caméras souhaitées comme "MainCamera" et à ne garder qu'une seule caméra active à la fois. De cette façon, le script la trouvera et l'utilisera (par exemple, si vous passez à Camera2, assurez-vous de désactiver Camera1 pour qu'Unity puisse obtenir la caméra correcte dans la hiérarchie).

1
Chochosan 4 nov. 2019 à 16:21