Je souhaite créer un système d'inventaire dans Unity, j'ai donc essayé de suivre ce tutoriel a>, mais les fonctions OnMouseEnter et OnMouseOver ne fonctionnent pas.
J'ai tout essayé, comme les collisionneurs 3D avec valeur z de 100, avec déclencheur et non déclencheur, et j'ai également vérifié si Physics.queriesHitTriggers est true , mais rien ne fonctionne. Avez-vous des conseils simples?
Pas avec raycasting ... Je suis assez nouveau et je ne comprends pas cela.
3 Réponses :
Essayez d'ajouter un collisionneur de boîtes ou un collisionneur de boîtes 2D
Essayez d'ajouter un corps rigide en plus du collisionneur et vous pouvez le faire cinématique
Essayez d'ajouter ajouter un EventSystem si vous utilisez une interface utilisateur canvas
Et vérifiez qu'il n'y a pas d'objet comme un canevas bloquant la diffusion de la caméra.
bonne chance.
Pouvez-vous expliquer comment fonctionnent les raycasts? Désolé mais je suis assez nouveau dans Unity.
mais je pense que je vais le faire avec les limites d'un collisionneur de boîte et vérifier si la position de la souris est dans ce collisionneur.
Le GameObject avec lequel vous essayez d'utiliser la souris doit avoir au moins un composant qui est une cible rayccast. une image ou un SpriteRendrer devrait le faire.
il a une image et un boxcollider.
Il est beaucoup plus facile et plus propre d'utiliser Unity UI System pour créer un inventaire, créer simplement un canevas, une image à l'intérieur et ajouter le composant EventTrigger à cet objet Image, et modifier les événements à l'intérieur de celui-ci dans l'inspecteur, ajouter les fonctions de votre choix en tout cas il le supporte, c'est une solution beaucoup plus propre. Essayez ce didacticiel https://www.youtube.com/watch?v=HZpq46W4xo4 Vous pouvez faire ce que vous voulez avec ce système, juste un peu de réflexion et de planification de votre propre demande d'inventaire ... Bonne chance!
Bienvenue dans Stack overflow. Veuillez publier le code que vous avez écrit