Observe as Coisas
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 26 de 67.
transform.LookAt(point) gira um objeto para que seu eixo para frente, a seta azul do eixo z, aponte para uma posição no mundo. Ele gira o objeto, mas não o move. Este holofote fica em uma torre em (0, 6, 0) e aponta para o portão em (4, 0, 10):
void Start()
{
transform.LookAt(new Vector3(4, 0, 10));
}O portão fica abaixo da luz, então o holofote também se inclina para baixo ao girar: LookAt aponta diretamente para o ponto, inclusive para cima ou para baixo. Depois disso, transform.forward aponta da luz para o portão.
Chamado em Start(), LookAt aponta uma vez. Chamado em Update(), ele aponta novamente a cada quadro, então o objeto continua voltado para o ponto enquanto o objeto ou o ponto se move. Seu argumento é sempre uma posição: LookAt(Vector3.forward) aponta para o ponto do mundo (0, 0, 1), um local próximo ao centro do mundo, onde quer que o objeto esteja.
Desafio
MédioO rover já se move com as setas ao longo dos eixos x e z do mundo. Faça-o ficar de frente para a direção em que se move: enquanto estiver se movendo, sua dianteira (seu eixo forward) aponta na direção do deslocamento, inclusive nas diagonais. Sem nenhuma tecla pressionada, ele fica parado e continua voltado para a direção em que se moveu por último.
Pressione Jogar, dirija por aí e depois Verificar.
Experimente você mesmo
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 3f;
void Update()
{
Vector3 move = Vector3.zero;
if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
move = move.normalized;
transform.position += move * speed * Time.deltaTime;
// Gire o rover para que fique voltado na direção em que está se movendo
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Noções básicas de scripting no Unity
1Seu primeiro script
Olá, UnityPosicione o cuboMova a cada quadroGire a cada segundoConduza com as teclasRecapitulando: dirija o cubo4Vetores
Adicionando vetoresDireçõesEspaço local e espaço do mundoVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone7Projeto: Pegue a Estrela
O ApanhadorUma Estrela Cadente10O ciclo de vida dos scripts
Awake e StartUpdate e LateUpdateOnEnable e OnDisableA ordem do ciclo de vidaRevisão: registrador do ciclo de vida5Transformações e Hierarquia
Pais e FilhosEscalaObserve as CoisasMova-se em Direção a um PontoRevisão: Lua em Órbita6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz