Additionner des vecteurs
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 24 sur 85.
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 déplacement. 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 donne (3, 0, 0), une tempête, et move * Time.deltaTime transforme un déplacement par seconde en déplacement pour cette image. La soustraction fonctionne également composante par composante, et a - b est le déplacement qui mène du point b au point a. Il n’y a pas de * entre deux vecteurs : roll * wind ne compile pas.
Défi
FacileLa rivière emporte le bateau, et la flèche vers le haut ajoute son moteur.
- Dans
Update(), commence parVector3 move = current;. - Tant que
Input.GetKey(KeyCode.UpArrow)est vrai, ajoutemotoràmoveavec+=. - Ajoute
move * Time.deltaTimeàtransform.position.
Appuie sur « Jouer » : le bateau dérive vers la droite et traverse la rivière tant que tu maintiens la flèche vers le haut. Ensuite, clique sur « Vérifier ».
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 entraîne toujours le bateau.
// Tant que la flèche vers le haut est maintenue enfoncée, le moteur pousse aussi.
}
}
Toutes les leçons de Les bases du scripting dans Unity
1Les bases de C# dans Unity
Bonjour, UnityVariablesLes nombres décimaux ont besoin d’un fDu texte dans la consoleDes variables qui mémorisentSi et sinonComparer des nombresRécapitulatif : le collecteur de pièces7Boucles et méthodes
Répéter avec forBoucles imbriquéesÉcrire une méthodeMéthodes qui renvoient une réponseTableauxRécapitulatif : escalier10Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que la rechercheLe null de UnityRécapitulatif : la pièce la plus proche13Projet : Éviter les blocs
Le coureurDes blocs tombent du ciel2Mettez-le en mouvement
Placez le cubeDéplacez-le à chaque frameTournez chaque secondeDirigez avec les touchesRécapitulatif : pilotez le cube5Vecteurs
Additionner des vecteursDirectionsEspace local et espace globalVitesse diagonaleDistance entre des objetsVector3 est une structureRécapitulatif : pilote de drone8GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur3L’inspecteur
Champs de l’inspecteurSerializeFieldFlottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur6Transformations et hiérarchie
Parents et enfantsHissez le drapeauÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : la lune en orbite9Projet : Attrape l’étoile
Le receveurUne étoile filanteEntraînez-vous par vous-même : Playground Unity