Pais e filhos
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 31 de 85.
Na Hierarchy, um objeto arrastado para cima de outro se torna seu filho e aparece indentado abaixo de seu pai. Um filho se move, gira e muda de escala junto com seu pai: mova o pai e todos os filhos o acompanham, sem código nos filhos.
O Unity armazena a posição de um filho em relação ao seu pai. transform.localPosition é esse deslocamento, medido a partir do pai; transform.position é a posição no mundo. Este Cavaleiro é filho de um Cavalo, e seu script o posiciona 1 unidade acima do centro do cavalo e meia unidade para trás, onde quer que o cavalo esteja:
void Start()
{
transform.localPosition = new Vector3(0, 1, -0.5f);
}Com o cavalo em (4, 0.5, 2), a position do cavaleiro é (4, 1.5, 1.5), enquanto sua localPosition permanece (0, 1, -0.5). Quando o cavalo continua andando, position muda e localPosition não. O deslocamento é medido ao longo dos próprios eixos do pai; portanto, quando o pai gira ou tem sua escala alterada, o deslocamento gira e muda de escala junto com ele. Para um objeto sem pai, localPosition e position são iguais.
Desafio
MédioColoque a bandeira na base do mastro, medida em relação ao navio.
- Em
Start(), os números (0.6, 1, 0) são medidos em relação ao Ship, o objeto pai da bandeira. - Nessa linha, altere
transform.positionparatransform.localPosition.
Pressione “Jogar”: a bandeira fica na base do mastro, no navio. Em seguida, “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Hoist : MonoBehaviour
{
public float climb = 1f;
void Start()
{
// A base do mastro: 0.6 à direita e 1 para cima, medidos a partir do Ship
transform.position = new Vector3(0.6f, 1, 0);
}
void Update()
{
// Enquanto a seta para cima estiver pressionada, suba até que a altura em relação ao Ship seja 4
}
}
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