Sumar vectores
Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 24 de 85.
Un Vector3 se puede guardar en una variable, y dos de ellos se suman con +: x se suma a x, y a y y z a z. Así es como dos empujes se combinan en un solo movimiento. Esta pelota de playa rueda hacia delante a 2 unidades por segundo mientras el viento la empuja 1 unidad por segundo hacia la derecha:
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;
}Multiplicar un vector por un número multiplica cada una de sus partes: wind * 3 es (3, 0, 0), una tormenta, y move * Time.deltaTime convierte un movimiento por segundo en el movimiento de este fotograma. La resta también funciona parte por parte, y a - b es el paso que va del punto b al punto a. No existe * entre dos vectores: roll * wind no compila.
Desafío
FácilLa corriente del río arrastra el barco, y la flecha hacia arriba añade la fuerza de su motor.
- En
Update(), empieza conVector3 move = current;. - Mientras
Input.GetKey(KeyCode.UpArrow)sea verdadero, añademotoramovecon+=. - Añade
move * Time.deltaTimeatransform.position.
Pulsa «Jugar»: el barco deriva hacia la derecha y cruza el río mientras mantienes pulsada la flecha hacia arriba. Después, pulsa «Comprobar».
Pruébalo tú mismo
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// La corriente siempre arrastra la barca.
// Mientras se mantenga pulsada la flecha hacia arriba, el motor también la impulsa.
}
}
Todas las lecciones de Fundamentos de scripting en Unity
1Conceptos básicos de C# en Unity
Hola, UnityVariablesLos decimales necesitan una fTexto en la consolaVariables que recuerdanIf y ElseComparar númerosRepaso: Recolector de monedas7Bucles y métodos
Repetir con forBucles dentro de buclesEscribir un métodoMétodos que respondenArraysRepaso: escalera10Encontrar cosas
Buscar por nombreEtiquetasBuscar por tipoLas referencias vencen a FindEl null de UnityRepaso: moneda más cercana13Proyecto: Esquiva los bloques
El corredorBloques desde el cielo2Haz que se mueva
Coloca el cuboMuévelo en cada fotogramaGira cada segundoDirige con las teclasRepaso: conduce el cubo5Vectores
Sumar vectoresDireccionesEspacio local y mundialVelocidad diagonalDistancia entre objetosVector3 es una estructuraRepaso: piloto de dron8GameObjects y componentes
Referencias en el InspectorObtener un componenteComponentes faltantesAñadir un componenteRequireComponentMostrar y ocultarRepaso: interruptor de luz3El Inspector
Campos del InspectorSerializeFieldFloats y MathfAtributos del InspectorRepaso: Ascensor6Transformaciones y jerarquía
Padres e hijosIza la banderaEscalaMira las cosasMuévete hacia un puntoRepaso: Luna en órbita9Proyecto: Atrapa la estrella
El cazadorUna estrella fugaz12El ciclo de vida de un script
Awake y StartUpdate y LateUpdateOnEnable y OnDisableEl orden del ciclo de vidaRepaso: registrador del ciclo de vidaPractica por tu cuenta: Playground de Unity