Vector2 Vector3 avec Unity, Comprendre les vecteurs

Dans vos jeux vidéo, vous allez devoir comprendre et utiliser les vecteurs dans bien des cas ! Mais l’utilisation principale des vecteurs et de positionner ou déplacer un objet : votre personnage, un ennemi, la camera, etc… Dans un espace 3D ou 2D.

Avec Unity et le le C# vous aller rencontrer cette syntaxe :

Vector2
Vector3

Selon si vous voulez faire une opération en 2D ou en 3D.

Qu’est-ce qu’un vecteur ?

Comme précédemment dit, les vecteurs sont intensivement utilisés par exemple pour stocker des positions, les directions et vitesses dans des espaces 2D et ou 3D.

En règle Général, les vecteurs stockent des données numérique :

  • Pour un Vector2 : x , y les coordonnées de l’objet dans une scène 2D
  • Pour un Vector3 : x , y les coordonnées de l’objet dans une scène 3D

Pour simplifier :

  • x  est la coordonnée en float de la position gauche (Vector2 ou Vector3)
  • y  est la coordonnée en float de la position haute (Vector2 ou Vector3)
  • z: est la coordonnée en float de la position de profondeur (en avant) uniquement pour un Vector3.

Voici un exemple de vecteur 2, Comment ça marche ?

Dans cette exemple mon point possède la positon sur l’axe x et y de 3 unités. Imaginons que le point est un objet le personnage par exemple. Le point d’intersection de l’axe x et y est 0 sur ces deux axes, dans unity il sera traduit par Vector3.zero qui revient au même que Vector3(0,0).

Vous aurez facilement compris que vector2(3,3) revient a dire que l’on déplace par rapport au point d’origine (Vector2.zero) le personnage de 3 unités sur l’axe X et 3 unités  sur l’axe Y.

 

Pour un vecteur 3, c’est exactement le même raisonnement mais on ajoute un axe z qui va représenter la profondeur, le déplacement avant si vous préférez.

Il est souvent plus difficile d’intégrer la profondeur, de raisonner en 3 Dimensions. Exercez-vous dans un premier temps avec le déplacement d’un sprite dans une scène 2D en utilisant les vecteurs 2

Les Vecteurs sont indispensables si vous voulez apprendre le développement de jeu vidéo et notament utiliser le moteur physique UNITY.

Si vos cours de mathématiques de seconde sont trop loin je vous conseille d’aller relire ce petit résumer sur les vecteurs (« Comprendre les math »)

 

C’est bien beau tout ça, mais ça me sert à quoi ?

Évidement dans l’état pas à grand-chose, mais avec Unity vous allez vous servir des vecteurs pour déplacer(Transform.translate) un objet, ou même lui soumettre une force(Rigidbody.AddForce) et bien d’autre chose.

Le cube Bleu possède le Transform dans l’inspector position x=0, y=0,  z=0 , c’est le Vector3.zero ou le Vector3(0,0,0).

Le cube Blanc posséde le Transform dans l’inspector position x=1 , y=0, Z=0 ; c’est le vector3.right ou le Vector3(1,0,0).

Oui Unity vous permet de vous simplifier la vie, vous allez retrouver des propriétés a l’instruction Vector2 ou Vector3 :

  • Vector3.right une unité vers la droite soit Vector3(1,0,0)
  • Vector3.left une unité vers la gauche soit Vector3(-1,0,0)
  • Vector3.back une unité vers l’arriére soit Vector3(0,0,-1)
  • Vector3.forward une unité vers l’avant soit Vector3(0,0,1)
  • Vector3.down une unité vers le bas soit Vector3(0,’1,0)
  • Vector3.up une unité vers le haut soit Vector3(0,1,0)

Vous pouvez aussi utilise rle signe négatif pour inverser le sens, par exemple au lieu d’utiliser Vector3.down je peux utiliser -Vector3.up

Rien qu’avec ces vecteur on va pouvoir par exemple déplacer le cube blanc qui initialement possède la position vector3(1,0,0) vers la droite  :

  void Start () {
        transform.Translate(Vector3.right);
    }

Ce qui est intéressant c’est que je peux multiplier ces vecteurs par exemple :

  void Start () {
        transform.Translate(Vector3.right *3);
    }

Attention retenez bien qu’avec l’instruction Translate, je déplace l’objet a partir de sa position et non pas à partir du Vector3.zero

Pour la 2D vous utiliserez la même syntaxe mais sans l’axe z, en 2D pas de profondeur on ne gére que la gauche et la droite soit x et y.

Voilà j’espère que ce petit tutoriel écrit vous permettra de mieux comprendre les vecteurs dans unity , n’oubliez pas qu’on ne peu pas courir avant de savoir marcher. Le lien de la document officiel d’ Unity sur les Vecteurs 

N’oubliez pas de mettre une note en haut de la page et surtout un commentaire afin de motiver l’équipe à vous fournir des tutoriels vidéo ou écrit de qualité.

UPLN

A propos de upln 274 Articles
En informatique le problème se situe souvent entre la chaise et le clavier !

Soyez le premier à commenter

Poster un Commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.