Somando vetores
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 24 de 85.
Um Vector3 pode ser armazenado em uma variável, e dois deles podem ser somados com +: x é somado a x, y a y e z a z. É assim que dois impulsos se combinam em um só movimento. Esta bola de praia rola para a frente a 2 unidades por segundo enquanto o vento a sopra 1 unidade por segundo para a direita:
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 um vetor por um número multiplica cada uma de suas partes: wind * 3 é (3, 0, 0), uma tempestade, e move * Time.deltaTime transforma um movimento por segundo no movimento desta etapa. A subtração também funciona parte por parte, e a - b é o passo que vai do ponto b ao ponto a. Não existe * entre dois vetores: roll * wind não compila.
Desafio
FácilA correnteza leva o barco, e a seta para cima adiciona o motor dele.
- Em
Update(), comece comVector3 move = current;. - Enquanto
Input.GetKey(KeyCode.UpArrow)for verdadeiro, adicionemotoramoveusando+=. - Adicione
move * Time.deltaTimeatransform.position.
Pressione “Jogar”: o barco deriva para a direita e atravessa o rio enquanto você mantém pressionada a seta para cima. Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// A correnteza sempre carrega o barco.
// Enquanto a seta para cima estiver pressionada, o motor também empurra.
}
}
Todas as lições de Fundamentos de Scripting no Unity
1Fundamentos de C# no Unity
Olá, UnityVariáveisDecimais precisam de um fTexto no ConsoleVariáveis que guardam valoresIf e ElseComparar númerosRevisão: Coletor de Moedas7Laços e Métodos
Repita com forLaços dentro de laçosEscreva um métodoMétodos que respondemArraysRevisão: Escada10Encontrando coisas
Buscar pelo nomeTagsBuscar por tipoReferências são melhores que FindO null do UnityRevisão: moeda mais próxima13Projeto: Desvie dos Blocos
O CorredorBlocos do Céu2Faça-o se mover
Posicione o cuboMova a cada quadroGire a cada segundoDirija com as teclasRecapitulando: dirija o cubo5Vetores
Somando vetoresDireçõesEspaço local e globalVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone8GameObjects e Componentes
Referências no InspectorObter um componenteComponentes ausentesAdicionar um componenteRequireComponentMostrar e ocultarRevisão: Interruptor de luz6Transformações e hierarquia
Pais e filhosIçar a bandeiraEscalaOlhar para as coisasMover-se em direção a um pontoRevisão: Lua em órbita9Projeto: Pegue a Estrela
O PegadorUma Estrela CadentePratique por conta própria: Playground de Unity