Encontrar por nome
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 42 de 67.
GameObject.Find("Player") procura na cena um objeto ativo com exatamente esse nome e o retorna, ou retorna null quando não há nenhum. Isso evita configurar um campo no Inspector, com um custo: ele percorre todos os objetos da cena. Portanto, chame-o uma vez, em Start(), e mantenha o resultado em um campo. Esta câmera de segurança encontra o Player quando o jogo começa e o observa em todos os frames:
private Transform player;
void Start()
{
player = GameObject.Find("Player").transform;
}
void Update()
{
transform.LookAt(player);
}O nome deve corresponder exatamente, incluindo letras maiúsculas e espaços: "player" ou "Player " não encontra nada. Find também ignora objetos inativos (ocultos). Uma busca malsucedida retorna null silenciosamente, e o erro aparece na próxima linha que usa o resultado: aqui, .transform gera NullReferenceException. Um caminho como "Car/Wheel" encontra Wheel, que é filho de Car.
Desafio
MédioO rover informa a que distância está de seu objetivo.
- Em
Start(), encontre o objeto chamadoGoale mantenha seu Transform emgoal. - Cada vez que a tecla Espaço for pressionada, registre a distância do rover até o objetivo, como
Distance to goal: 5.
O objetivo pode se mover, então meça no momento em que a tecla Espaço for pressionada.
Pressione Jogar, clique no jogo e pressione Espaço, depois Verificar.
Experimente você mesmo
using UnityEngine;
public class Beacon : MonoBehaviour
{
private Transform goal;
void Start()
{
// Encontre o objeto chamado Goal e armazene seu Transform em goal.
}
void Update()
{
// Space: registre a distância até o objetivo no log.
}
}
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 Órbita8Encontrando coisas
Encontrar por nomeTagsEncontrar por tipoReferências vencem FindO null do UnityRevisão: moeda mais próxima6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz