[DB-AL] Récupérer l'endroit cliqué

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
NatsuTwin
Messages : 21
Inscription : 29 Mars 2018 15:41

[DB-AL] Récupérer l'endroit cliqué

Message par NatsuTwin » 24 Jan 2019 23:22

Bonjour,

J'aimerais récupérer l'endroit qui est cliqué par un joueur sur Unity 2018.3.2f1. J'aimerais pouvoir faire ça pour, quand le joueur clique à un endroit précis, je lui ouvre une interface (quand il clique sur une planète dans mon cas). J'ai cherché des solutions sur internet mais rien de concluant.
Quelqu'un saurait faire?
Merci.

Avatar de l’utilisateur
Sebela
Messages : 141
Inscription : 25 Juin 2014 21:39

Re: [DB-AL] Récupérer l'endroit cliqué

Message par Sebela » 25 Jan 2019 11:09

Hello !

Pourtant c'est super facile à trouver (sur ce forum ou sur le net, juste en tapant "unity clic objet 3D")

Tu as plusieurs possibilités, tu peux soit utiliser un raycast à la position de la souris :

Code : Tout sélectionner

Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        
if (Physics.Raycast(ray, out hit)) {
      Transform objectHit = hit.transform; //Récupération du transform de l'objet cliqué
}
Soit passer directement par la méthode OnMouseDown() que tu colles sur le script de ton gameobject.

Code : Tout sélectionner

private void OnMouseDown(){
	OpenInterface();
}
Pense aussi à mettre un collider sur ton gameobject pour qu'il soit détecté par le raycast !

Répondre

Revenir vers « (C#) CSharp »