[RESOLU]Récuperer la position d'un point dans un mesh

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Tarquin38
Messages : 8
Inscription : 15 Mai 2018 14:34

[RESOLU]Récuperer la position d'un point dans un mesh

Message par Tarquin38 » 17 Mai 2018 09:57

Bonjour,

J'ai un cube et j'aimerais récupéré les coordonnées du point de son mesh que je sélectionne.
J'arrive à récupérer les coordonnées mais lorsque j'effectue une rotation sur le cube, elles restent les mêmes que sans la rotation.

Comment ajouter la rotation à cette position ?

Voila ce que j'ai fait:

Code : Tout sélectionner

meshPoint = cube.transform.position + selectedPoint;
selectedPoint étant les coordonnées local du point du mesh ((1, 1, -1) par exemple)

merci d'avance,

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Récuperer la position d'un point dans un mesh

Message par boubouk50 » 17 Mai 2018 10:33

Salut,
c'est normal pour des coordonnées locales. Elles sont calculées dans le repère du cube, elles seront toujours au même endroit par rapport au pivot. Il faut donc récupérer les coordonnées World et non locales.
Pour ce faire, il faut convertir les coordonnées dans le bon repère grâce à TransformPoint.

Code : Tout sélectionner

meshPoint = cube.transform.position + cube.transform.TransformPoint (selectedPoint);
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Tarquin38
Messages : 8
Inscription : 15 Mai 2018 14:34

Re: Récuperer la position d'un point dans un mesh

Message par Tarquin38 » 17 Mai 2018 11:22

Merci pour ta réponse,

j'ai essayer ta solution mais mon point dans les coordonnées world ne correspond pas au point de mon mesh.
Peut-être encore un problème de repère ?

J'ai essayer de faire TrasformPoint sur le transform du cube pour tout mettre dans le repère world.

Voila les positions de mes points:
Capture.PNG
Capture.PNG (88.25 Kio) Consulté 2914 fois

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Récuperer la position d'un point dans un mesh

Message par boubouk50 » 17 Mai 2018 11:28

Euh... Et que veux-tu que je fasse de ces positions??? Je ne sais même pas ce que tu as écrit dans tes logs... Il me faut le code avec, au minimum, que je sache ce que tu fais.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Tarquin38
Messages : 8
Inscription : 15 Mai 2018 14:34

Re: Récuperer la position d'un point dans un mesh

Message par Tarquin38 » 17 Mai 2018 11:36

Oui désolé voila mon code:

Code : Tout sélectionner

Vector3 selectedPoint = OnModelClick.GetSelectedPoint();
Vector3 selectedPointInWorldSpace = model.transform.position + model.transform.TransformPoint(selectedPoint);
Vector3 modelPositionInWorldSpace = transform.TransformPoint(model.transform.position);

Debug.Log("selected : " + selectedPoint.ToString("F3"));
Debug.Log("selected in world : " + selectedPointInWorldSpace.ToString("F3"));
Debug.Log("position du cube : " + model.transform.position.ToString("F3"));
Debug.Log("position du cube World: " + modelPositionInWorldSpace.ToString("F3"));

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Récuperer la position d'un point dans un mesh

Message par boubouk50 » 17 Mai 2018 11:45

C'est moi qui suis mal réveillé... j'ai bêtement adapté ton code.

Code : Tout sélectionner

meshPoint = cube.transform.TransformPoint (selectedPoint);
Pas besoin d'additionner quoi que ce soit puisque TransformPoint te renvoie directement la position World.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Tarquin38
Messages : 8
Inscription : 15 Mai 2018 14:34

Re: Récuperer la position d'un point dans un mesh

Message par Tarquin38 » 17 Mai 2018 12:07

Ok, ca marche.

J'avais aussi un problème de scale quand je récupérais mon point sélectionné.

merci beaucoup pour ton aide.

Répondre

Revenir vers « Scripting »