Comment utiliser le Graphique Raycaster avec WorldSpace l'INTERFACE utilisateur?
Je suis à essayer de comprendre comment Graphique.Raycaster fonctionne, mais la documentation n'aide pas. Je veux l'utiliser pour lancer raycast à partir d'une position à un certain angle et frapper l'INTERFACE utilisateur. L'autre chose, c'est que je ne sais pas comment le faire interagir avec l'INTERFACE utilisateur(faites glisser la souris, cliquez sur etc.). Je sais que c'est vaste sujet, mais je ne peux pas trouver une bonne explication de la façon de l'utiliser, donc je serais reconnaissant pour toute explication.
- avez-vous lu ceci ?
Vous devez vous connecter pour publier un commentaire.
De l'Unité docs:
Vous pouvez utiliser
EventSystem.RaycastAll
àraycast
contre graphiques(UI) d'éléments.Voici un court exemple pour ton cas:
Le script ci-dessus n'est pas testé par moi-même. Donc, il pourrait y avoir quelques erreurs.
Voici quelques autres références pour vous aider à comprendre plus:
Espère que cela aide.
Input.mousePosition
avec cela, et vérifier si cela fonctionne.Debug.DrawRay(transform.position, vector);
il traverse un élément de l'INTERFACE utilisateur. Peut-être que cela ne fonctionne pas parce quevector
est utilisé comme poste, pas de direction?Oumayr M actuel de la suggestion n'est pas gérer le fait que le rayon est originaire du monde de l'espace et de voyager à un angle.
Il ne me semble pas que vous pouvez le faire une GUI raycast dans l'espace à un angle, même si votre toile est dans l'espace. Cette page suggère une technique de création d'une non-rendu de la caméra, en le déplaçant dans l'espace 3D avec le rayon, vous voulez jeter, et ensuite de faire de la GUI raycast par rapport à celle de la caméra. Je n'ai pas encore essayé, mais il semble prometteur.