J'ai une petite ville maillage et un modèle d'appartement 3d. J'ajoute le mesh à ma scène et place le modèle 3d sur le mesh. J'essaie de gérer le clic de souris uniquement sur le modèle 3D. J'utilise le code ci-dessous. Mais je clique n'importe où sur l'écran, il définit comme sound = truePoignée de souris cliquez sur un objet de jeu - Unity3d
J'ajoute un collecteur de mailles au gameobject modèle 3D.
if (Input.GetMouseButtonDown (0)) {
Plane p = new Plane (Camera.main.transform.forward , transform.position);
Ray r = Camera.main.ScreenPointToRay (Input.mousePosition);
float d;
if(p.Raycast (r, out d)) {
sound = true;
}
Comment puis-je le résoudre?
Comment faire la même tâche avec Plane.Raycast? Il ne nécessite aucun collisionneur. Et ça ne consiste pas en un coup. – zumma
@zumma A en juger par votre code, il semble que vous créez un plan que vous frappez toujours. Essayez de changer les valeurs du plan –
@zumma quelle est la valeur d? S'il vous plaît écrire Debug.Log (d); après si déclaration. –