Addition de vecteurs
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 17 sur 67.
Un Vector3 peut être stocké dans une variable, et deux vecteurs s’additionnent avec + : x s’ajoute à x, y à y et z à z. C’est ainsi que deux poussées se combinent en un seul mouvement. Ce ballon de plage roule vers l’avant à 2 unités par seconde tandis que le vent le pousse de 1 unité par seconde vers la droite :
Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);
void Update()
{
Vector3 move = roll + wind; // (1, 0, 2)
transform.position += move * Time.deltaTime;
}Multiplier un vecteur par un nombre multiplie chacune de ses composantes : wind * 3 vaut (3, 0, 0), une tempête, et move * Time.deltaTime transforme un mouvement par seconde en mouvement pour cette image. La soustraction fonctionne aussi composante par composante, et a - b est le déplacement qui mène du point b au point a. Il n’existe pas d’opérateur * entre deux vecteurs : roll * wind ne compile pas.
Défi
FacileLe current d’une rivière emporte toujours le bateau. Tant que la flèche vers le haut est maintenue, le motor pousse aussi le bateau, en plus du courant. Les deux représentent des déplacements en unités par seconde, définis dans l’Inspector : le courant vaut (1, 0, 0) et le moteur (0, 0, 3).
Appuie sur Play et traverse la rivière avec la flèche vers le haut, puis appuie sur Check.
Essayez vous-même
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// Le courant emporte toujours le bateau.
// Tant que la flèche vers le haut est maintenue enfoncée, le moteur propulse aussi le bateau.
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases du scripting dans Unity
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur