L’interaction utilisateur avec la souris est cruciale dans les jeux et applications 3D.
Sans une gestion efficace, les expériences utilisateur peuvent devenir frustrantes et peu engageantes.
Découvrez comment Unity, via la classe Input, permet de capter et de gérer ces interactions pour créer des expériences immersives.
Créez votre premier jeu 3D en C# avec Unity, étape par étape.
L’interaction avec la souris est une fonctionnalité clé dans la création d’expériences interactives, notamment dans les jeux et les applications en 3D. Unity permet de capturer les clics, les mouvements de la souris et la position du curseur grâce à la classe Input, tout comme pour le clavier.
Vous pouvez également utiliser la souris pour interagir avec les objets, naviguer dans les menus et effectuer des sélections.
Voici un aperçu des principales méthodes de la classe Input en rapport avec le périphérique souris :
Méthode | Description |
---|---|
Input.GetMouseButton(0) | Renvoie true tant que le bouton gauche de la souris est maintenu enfoncé. |
Input.GetMouseButtonDown(0) | Renvoie true lors du premier clic du bouton gauche de la souris. |
Input.GetMouseButtonUp(0) | Renvoie true lorsque le bouton gauche de la souris est relâché. |
Input.GetAxis(“Mouse ScrollWheel”) | Renvoie la valeur du défilement de la molette (positive pour un défilement vers le haut, négative pour un défilement vers le bas). |
Input.mousePosition | Renvoie la position actuelle du curseur de la souris en pixels (Vector3 avec les coordonnées X et Y). |
Pour ce qui concerne les arguments, il faut retenir qu’en règle générale 0 et 1 font respectivement référence au clic gauche et droit de la souris. L’argument 2 quant à lui indique le mouvement de la molette centrale de la souris.
Le script suivant, appelé MouseDemo , montre comment détecter les clics gauche, droit et du milieu ainsi que l’utilisation de la molette de défilement et la position de la souris à l’écran.
usingUnityEngine;
publicclassMouseDemo : MonoBehaviour {
voidUpdate() {
// Détection du clic gauche
if (Input.GetMouseButtonDown(0)) {
Debug.Log("Clic gauche détecté à la position : " + Input.mousePosition);
}
// Détection du clic droit
if (Input.GetMouseButtonDown(1)) {
Debug.Log("Clic droit détecté à la position : " + Input.mousePosition);
}
// Détection du clic molette
if (Input.GetMouseButtonDown(2)) {
Debug.Log("Clic molette détecté à la position : " + Input.mousePosition);
}
// Détection du défilement de la molette
floatscroll = Input.GetAxis("Mouse ScrollWheel");
if (scroll != 0) {
Debug.Log("Défilement de la molette : " + scroll);
}
}
}
Dans ce script, nous indiquons l’argument 0, 1 ou 2 pour détecter respectivement un clic gauche, droit ou un clic molette . Input.GetAxis(« Mouse ScrollWheel ») détecte le mouvement de la molette de défilement , renvoyant une valeur positive pour un défilement vers le haut et une valeur négative pour un défilement vers le bas .
Input.mousePosition quant à lui, renvoie la position actuelle de la souris en coordonnées d’écran ( X, Y, Z) , où Z n’est pas utilisé pour la position de la souris.
- Utilisation de la Position de la Souris
Vous pouvez également obtenir la position de la souris sur l’écran à tout moment avec Input.mousePosition . Cela peut être utile pour créer des interactions visuelles basées sur la position du curseur.
Voici un exemple qui suit la position de la souris et affiche les coordonnées dans la console.
usingUnityEngine;
publicclassMousePositionDemo : MonoBehaviour {
voidUpdate() {
Vector3 mousePos = Input.mousePosition;
Debug.Log("Position de la souris : " + mousePos);
}
}
Une fois que vous maîtrisez l’interaction avec la souris, vous pouvez étendre ces connaissances pour manipuler les composants des objets dans Unity , comme changer la couleur d’un objet ou activer/désactiver des composants en fonction des interactions du joueur.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment capturer les clics de souris avec Unity?
Comment utiliser la position du curseur dans Unity?
Quel est le rôle de la molette de défilement dans Unity?
Quels sont les arguments des méthodes Input pour la souris?
Comment détecter les mouvements de souris dans un script Unity?
Conclusion
En maîtrisant la gestion des interactions souris avec Unity, vous pouvez enrichir vos applications avec des fonctionnalités immersives. Quel type d’interaction souhaitez-vous explorer davantage pour améliorer l’engagement utilisateur dans vos projets?