Page 1 sur 1

[RTFM-DB] souci de Transform

Publié : 25 Juil 2019 20:15
par rax
Bonjour,
J’ai un petit souci, j’ai 2 gameobject A et B B étant la cible je voudrai que mon gameobject A
Puisse tourner de 180° par rapport au vecteur du gameobject B soit à l’opposée de B et d’une distance donnée.
Pour cela j’ai créé un

private Transform.fantome

puis ma rotation :

Code : Tout sélectionner

Angle = Vector3.Angle ((Cible.transform.position - transform.position), transform.forward);
fantome.transform.eulerAngles = new Vector3 (0,(Angle-180),0);
fantome.transform.position = Vector3.forward * Distance;
je lance et…
UnassignedReferenceException: The variable fantome of Comportement has not been assigned.
You probably need to assign the fantome variable of the Comportement script in the inspector.
si A V3(0,0,0) et B v3(5,0,5) j'aimerai créer un point virtuel C V3(-5,0,-5)
merci par avance

Re: souci de Transform

Publié : 25 Juil 2019 21:14
par Alesk
As-tu essayé de lire/comprendre le message d'erreur ? :mrgreen:

Re: souci de Transform

Publié : 25 Juil 2019 21:34
par rax
UnassignedReferenceException: La variable fantame de Comportement n'a pas été affectée.
Vous devez probablement affecter la variable fantame du script Comportement dans l'inspecteur.

j'ai créé cette variable juste pour mes calculs qui va me permettre de déterminer ma rotation et mon point d'arrivé.
je trouve que c'est plus simple que de créer un GameObject vide

Re: souci de Transform

Publié : 25 Juil 2019 23:41
par Alesk
Oui... Sauf que tu as déclaré la variable pour indiquer au script qu'elle existe.

Mais tu ne lui as pas attribué de valeur !

De mémoire, je ne crois pas que l'on puisse créer d'objet Transform ex-nihilo juste avec du code.
Il va falloir rendre ta variable publique et lui associer le transform d'un gameobject depuis l'inspecteur.

Re: [RTFM-DB] souci de Transform

Publié : 27 Juil 2019 18:47
par rax
J'ai trouvé cette solution :

Code : Tout sélectionner

private  vector3 VecFui;

Angle += 180f; 
VecFui = new Vector3 (DistanceFuite * Mathf.Sin (Angle), 0, DistanceFuite * Mathf.Cos (Angle));
ça marche bien.

Re: [RTFM-DB] souci de Transform

Publié : 27 Juil 2019 21:48
par Alesk
heu oui... c'est bizarre que ça fonctionne, car l'angle pour Mathf.Sin et Mathf.Cos doit être exprimé en radians...

Re: [RTFM-DB] souci de Transform

Publié : 30 Juil 2019 16:56
par rax
Exact le bon codage donne :

Code : Tout sélectionner

float Rad = Mathf.Deg2Rad*(Angle + 180f); 
VecFui = new Vector3 (DistanceFuite * Mathf.Sin (Rad), 0, DistanceFuite * Mathf.Cos (Rad));
Debug.Log ("ptFuite = " + VecFui);
désolé !!

Heuuuuuuuuuuu question subsidiaire peut-on modifier une variable d'un autre script qui porte le même nom
script a mob, script b mob,script c mob,.....

Re: [RTFM-DB] souci de Transform

Publié : 30 Juil 2019 17:29
par Alesk
Si c'est une variable publique, oui.

Re: [RTFM-DB] souci de Transform

Publié : 30 Juil 2019 17:43
par rax
merci je continue mon script ^^
sans vouloir abuser comment créer le triangle dans l'inspecteur pour déplier/replier mes groupes de variables ?

Re: [RTFM-DB] souci de Transform

Publié : 30 Juil 2019 18:29
par Alesk