Après plusieurs jours à m'arracher les cheveux pour réussir à faire marcher un truc tout bête, je me décide à venir humblement demander de l'aide.
Voici ce que je veux faire (Vidéo d'un proto que j'ai fait sur Virtools).
https://www.youtube.com/watch?v=cGcc4j4 ... e=youtu.be
J'ai deux personnage, reliés par un objet 3D. Le but c'est que cet objet se place toujours à côté du P1 et regarde toujours en direction du P2 tout en étant parallèle au sol. Je scale également l'objet pour qu'il s'élargisse en fonction de la distance entre les deux persos.
J'ai donc besoin :
1) De placer l'objet à côté du P1
2) D'augmenter la taille de l'objet ("Lien") en fonction de la distance entre P1 et P2
3) D'orienter mon objet vers le P2 continuellement.
Voici là où j'en suis :
Code : Tout sélectionner
public class LienBehavior : MonoBehaviour {
public GameObject player1OBJ;
public GameObject player2OBJ;
public float distance; // distance entre P1 et P2
// Update is called once per frame
void Update () {
Vector3 player1 = player1OBJ.transform.position; // Position P1
Vector3 player2 = player2OBJ.transform.position; // Position P2
Vector3 lien = transform.position; // Position du lien
//Vector3 player2Mid = new Vector3 (player2.x,lien.y,player2.z);
Vector3 positionLien = new Vector3 (player1.x, player1.y,player1.z);
transform.position = positionLien;
distance = Vector3.Distance(player1, player2);
transform.localScale = new Vector3(1,1,distance);
transform.LookAt(player2, Vector3.forward);
Debug.Log(distance);
}
}
https://www.youtube.com/watch?v=wd5mPu7 ... e=youtu.be
Comme vous vous en doutez, je ne suis pas très satisfait :
1) Mon objet se positionne bien, mais par son centre. Je voudrais qu'il le fasse par son extrémité gauche.
2) La distance a l'air d'être bonne mais je ne peux pas vérifier
3) Mon objet s'oriente pas trop mal mais je ne veux pas qu'il "bascule" comme il le fait lorsque je suis trop près du P2. Je veux qu'il reste droit.
Si vous avez des suggestions ça m'aiderait beaucoup