Direções
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 25 de 85.
O Unity tem nomes para as seis direções, cada uma com uma unidade de comprimento:
Vector3.right(1, 0, 0) eVector3.left(-1, 0, 0)Vector3.up(0, 1, 0) eVector3.down(0, -1, 0)Vector3.forward(0, 0, 1) eVector3.back(0, 0, -1)
Também existem Vector3.zero (0, 0, 0) e Vector3.one (1, 1, 1). Como cada direção tem uma unidade de comprimento, uma direção multiplicada por uma velocidade resulta em um movimento exatamente igual a essa velocidade. Este caracol se afasta da câmera a 0.5 unidades por segundo:
public float speed = 0.5f;
void Update()
{
transform.position += Vector3.forward * speed * Time.deltaTime;
}Esse é o mesmo movimento que new Vector3(0, 0, speed * Time.deltaTime), mas a direção é mais fácil de ler e é mais difícil colocá-la no eixo errado. Um sinal de menos inverte uma direção: -Vector3.forward é Vector3.back. Essas direções pertencem ao mundo, não ao objeto: Vector3.forward corresponde ao eixo z do mundo mesmo quando o caracol está virado para o outro lado. Na próxima lição, os objetos se moverão na direção para a qual estão voltados.
Desafio
FácilControle o gancho do guindaste com as quatro setas, usando as direções nomeadas do Unity.
- Em
Update(), escreva umifemInput.GetKeypara cada tecla de seta. - Cada um adiciona sua direção multiplicada por
speed * Time.deltaTime:Vector3.right,Vector3.left,Vector3.upouVector3.down, como emtransform.position += Vector3.up * speed * Time.deltaTime;.
Pressione “Jogar” e controle o gancho: ele desliza, sobe e desce. Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Hook : MonoBehaviour
{
public float speed = 2f;
void Update()
{
// Setas para a direita/esquerda: deslizam ao longo de x. Setas para cima/baixo: sobem e descem.
}
}
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