Referências no Inspector
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 29 de 67.
Um campo pode armazenar outro objeto. Dê a ele um tipo como Transform ou GameObject, e o Inspector exibirá um espaço vazio que você preenche arrastando um objeto da Hierarchy até ele. Este script de câmera acompanha o objeto que foi arrastado para player, mantendo-se 3 unidades acima dele e 6 atrás:
public Transform player;
void Update()
{
transform.position = player.position + new Vector3(0, 3, -6);
}Um espaço deixado vazio exibe None, e a primeira linha que o usa gera, em cada quadro: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. A linha seguinte da mensagem diz o que fazer: You probably need to assign the player variable of the CameraFollow script in the inspector. Ela identifica o campo e o script, para que você saiba qual espaço preencher.
Alguns scripts também devem funcionar com o espaço vazio. Unity faz com que um espaço vazio seja igual a null na comparação, então esse tipo de script verifica antes de usá-lo. Com if (player != null) em volta da linha em Update(), uma câmera sem jogador permanece onde está, em vez de gerar um erro.
Desafio
MédioCada guarda caminha até seu próprio posto. Na cena, o Inspector do Guard1 coloca o objeto Post1 em um campo chamado post. O posto do Guard2 ainda não foi criado, então seu espaço post está vazio.
- Adicione ao script Guard um campo
Transformchamadopost. - Um guarda caminha até a posição do seu posto a
speedunidades por segundo e para nele, mesmo que o posto seja movido depois. - Um guarda cujo espaço do posto está vazio fica onde está, sem gerar um erro.
Pressione Play, selecione cada guarda na Hierarchy para ver seu espaço Post e, em seguida, clique em Check.
Experimente você mesmo
using UnityEngine;
public class Guard : MonoBehaviour
{
// post: o Transform até o qual este guarda caminha, definido no Inspector
public float speed = 2f;
void Update()
{
// Caminha até o post na velocidade speed. Um guarda com o campo post vazio permanece parado.
}
}
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