Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Componentes definem o que uma entity pode fazer.

Uma entity é o container. Componentes são as funcionalidades anexadas a esse container.

image.png

Esta lição apresenta os principais tipos de componente que você verá como iniciante. Você não precisa memorizar todas as opções ainda. O objetivo é reconhecer o padrão:

> Quando uma entity precisa de uma funcionalidade, normalmente você adiciona o componente que fornece essa funcionalidade.

Entities São Construídas a partir de Componentes

Uma nova entity pode começar muito simples.

Depois, à medida que você adiciona componentes, ela se torna mais capaz:

  • Adicione um Transform Component e ela terá um lugar no Mundo 3D.
  • Adicione um Mesh Component e ela pode se tornar visível.
  • Adicione um Rigid Body Component e ela pode colidir com o mundo.
  • Adicione um Python Component e ela pode executar código de gameplay.
  • Adicione um Logic Bricks Component e ela pode executar lógica visual.
  • Adicione um Audio Player Component e ela pode reproduzir áudio.

Esse é o fluxo normal do Cave: construir entities combinando componentes.

Por exemplo:

Objeto que Você Quer Possível Configuração de Componentes
Tocha Transform, Mesh, Light, Audio Player.
Porta Transform, Mesh, Rigid Body, Logic Bricks ou Python.
Jogador Transform, Character, Camera, Animation, Python.
Saúde para Coletar Transform, Mesh, Rigid Body trigger, Logic Bricks ou Python.

Em vez de procurar um tipo especial de objeto para toda situação, você compõe o objeto que precisa.


Componentes Principais

Alguns componentes são tão comuns que você os verá constantemente.

Componente Propósito Principal
Transform Component Armazena posição, rotação e escala.
Camera Component Define uma visão de câmera.

Transform Component

O Transform Component armazena posição, rotação e escala.

image.png

A maioria das entities 3D depende dele porque a maioria dos objetos precisa existir em algum lugar no mundo. Quando você move, rotaciona ou escala uma entity na Vista 3D, você está editando seu transform.

Muitos outros componentes dependem do transform:

  • Uma luz precisa de uma posição.
  • Uma mesh precisa de uma posição.
  • Uma câmera precisa de uma posição.
  • Uma fonte de som 3D precisa de uma posição.

Camera Component

O Camera Component define uma visão de câmera.

image.png

Use-o quando quiser que uma entity atue como uma câmera do jogo.

Câmeras são usadas para:

  • Jogos em primeira pessoa.
  • Jogos em terceira pessoa.
  • Jogos top-down.
  • Menus.
  • Cutscenes.
  • Visões especiais.

Uma cena tem uma câmera de cena padrão, mas câmeras de gameplay são geralmente entities com Camera Components. Isso facilita movê-las, fazer delas pai, animá-las, criar scripts ou trocar durante o gameplay.


Componentes Gráficos

Componentes gráficos controlam o que o jogador vê.

Componente Use para
Mesh Component Objetos 3D visíveis.
Light Component Fontes de luz locais.
Particle Component Efeitos visuais feitos de muitos pedaços pequenos.
Animation Component Reprodução de animação esquelética.
Animation Socket Component Anexar entities-filhas a ossos animados.

Mesh Component

O Mesh Component renderiza uma mesh usando um material.

image.png

Use para:

  • Props.
  • Paredes.
  • Personagens.
  • Portas.
  • Armas.
  • Elementos de ambiente.
  • Qualquer coisa visível.

Um mesh component geralmente referencia um asset de mesh e um asset de material. A mesh fornece a forma, enquanto o material controla a aparência da superfície.

Light Component

O Light Component adiciona iluminação local à cena.

image.png

Use para:

  • Lâmpadas.
  • Tochas.
  • Luzes mágicas.
  • Props brilhantes.
  • Holofotes.

O sol da cena e a luz ambiente afetam toda a cena. Componentes de luz são colocados em entities quando você precisa de iluminação local em um lugar específico.

Particle Component

O Particle Component cria elementos visuais repetidos e efeitos.

image.png

Use partículas para:

  • Fumaça.
  • Faíscas.
  • Poeira.
  • Fogo.
  • Vento.
  • Detritos.
  • Efeitos mágicos.

Partículas são úteis porque você não quer que cada faísca ou sopro de poeira seja uma entity manualmente colocada. Um único componente de partículas pode gerar e controlar muitos visuais pequenos.

Animation Component

O Animation Component reproduz animações esqueléticas.

image.png

Ele funciona com armaduras e assets de animação e pode controlar reprodução, blend, camadas e a pose animada final.

Use para:

  • Personagens animados.
  • Criaturas animadas.
  • Props esqueléticos.
  • Qualquer mesh animado importado que use ossos.

Animation Socket Component

O Animation Socket Component anexa uma entity-filho a um osso específico de uma entity-pai animada.

image.png

Use para:

  • Espadas.
  • Armas de fogo.
  • Escudos.
  • Capacetes.
  • Mochilas.
  • Props nas mãos.

Ao invés de atualizar manualmente o prop a cada frame, o socket segue o osso selecionado.


Componentes de Física

Componentes de física controlam colisão e movimento físico.

Componente Use para
Rigid Body Component Colisão, objetos físicos, triggers.
Character Component Movimento de personagens jogadores e NPCs.
Physics Constraint Component Conectar rigid bodies entre si.

Rigid Body Component

O Rigid Body Component dá um comportamento físico a uma entity.

image.png

Use para:

  • Colisão estática.
  • Objetos dinâmicos.
  • Props físicos.
  • Objetos fantasma tipo trigger.

Por exemplo, uma parede pode usar um rigid body estático para que o jogador não consiga atravessá-la. Uma caixa móvel pode usar um rigid body dinâmico para reagir a forças.

Character Component

O Character Component é projetado para movimento estilo personagem.

image.png

Use para jogadores ou NPCs que precisam:

  • Andar.
  • Pular.
  • Escorregar nas paredes.
  • Lidar com inclinações.
  • Mover-se como um personagem em vez de um objeto físico solto.

Esse geralmente é um ponto de partida melhor para um personagem controlável do que um rigid body simples.

Physics Constraint Component

O Physics Constraint Component conecta rigid bodies entre si.

É útil para setups de física mais avançados, tais como:

  • Dobradiças.
  • Juntas.
  • Pontes.
  • Configurações tipo ragdoll.
  • Objetos físicos conectados.

Você não vai precisar dele imediatamente, mas é bom reconhecer o que é. Mais tarde, pode ajudar com coisas como portas que balançam, objetos pendurados ou peças mecânicas.


Componentes de Mundo e Jogo

Alguns componentes ajudam a construir o mundo ou apresentar o jogo ao jogador.

Componente Use para
Terrain Component Paisagens externas e terrenos esculpidos.
Audio Player Component Sons, música, ambiência e áudio 3D.
UI Element Component Texto, botões, painéis, HUDs e menus.

Terrain Component

O Terrain Component cria e edita terreno.

image.png

Use para níveis externos, paisagens, colinas, vales, estradas e grandes superfícies de chão.

Terrain tem suas próprias ferramentas de edição, que são abordadas depois.

Audio Player Component

O Audio Player Component reproduz sons ou músicas.

Pode ser usado para:

  • Música.
  • Loops de ambiência.
  • Efeitos sonoros.
  • Áudio posicional 3D.
  • Sons de interface.

Áudio também pode ser acionado por scripts, Logic Bricks, timelines, callbacks de UI e callbacks de animação.

UI Element Component

O UI Element Component cria elementos da interface do jogo.

image.png

Use para:

  • Texto.
  • Botões.
  • Painéis.
  • Menus.
  • Barras de saúde.
  • Elementos do HUD.

UI no Cave também é construída a partir de entities, o que significa que UI pode usar hierarquia, componentes, propriedades e lógica como outras partes do jogo.


Componentes de Lógica

Componentes de lógica fazem as entities se comportarem.

Componente Use para
Python Component Comportamento de gameplay reutilizável em Python.
Python Code Component Comportamento Python inline pequeno.
Logic Bricks Component Grafos de script visual.
State Machine Component Comportamento baseado em estados.

Python Component

O Python Component anexa um asset de script Python a uma entity.

image.png

Use para lógica de gameplay reutilizável, como:

  • Comportamento de portas.
  • Comportamento de inimigos.
  • Interações.
  • Lógica de UI.
  • Regras do jogo.
  • Sistemas personalizados.

Python Code Component

O Python Code Component armazena pequenos trechos de Python inline diretamente no componente.

image.png

Use para testes rápidos, comportamentos locais pequenos ou protótipos pontuais.

Para lógica maior reutilizável, prefira um asset de Python Script com um Python Component.

Logic Bricks Component

O Logic Bricks Component anexa um asset de Logic Bricks a uma entity.

image.png

Logic Bricks são o sistema de script visual do Cave. Eles permitem criar comportamento conectando nós em vez de escrever código diretamente.

image.png

Use para gatilhos, interações simples, comportamento de UI e eventos de gameplay que são mais fáceis de entender visualmente.

State Machine Component

O State Machine Component anexa uma máquina de estados hierárquica a uma entity.

image.png

State machines são úteis para comportamentos que têm estados claros, como:

  • Idle.
  • Walk.
  • Chase.
  • Attack.
  • Flee.
  • Dead.

Elas são especialmente úteis para inimigos, NPCs e lógicas de gameplay estruturadas.


Vehicle Components

Cave também inclui componentes relacionados a veículos.

Você pode vê-los se gerar conteúdo inicial de veículos.

Component Purpose
Vehicle Component Transforma um objeto físico em um corpo no estilo veículo.
Wheel Component Define o comportamento da roda para um veículo.

O Vehicle Component funciona com um rigid body e componentes de roda.

O Wheel Component inclui comportamentos relacionados à roda, como suspensão, direção, raio da roda e se a roda é dianteira.

Practical Component Recipes

Aqui estão algumas maneiras simples de pensar sobre a composição de componentes:

Goal Component Recipe
Visible static prop Transform + Mesh.
Solid wall Transform + Mesh + Rigid Body.
Moving player Transform + Character + Python + Camera.
Torch with ambience Transform + Mesh + Light + Audio Player.
Button in a menu UI Element + Python or Logic Bricks.
Enemy behavior Character + Animation + State Machine or Python.

Estas não são regras rígidas. São pontos de partida.

À medida que você criar mais objetos, ficará mais rápido em escolher os componentes certos para o trabalho.

Other Components

Cave possui componentes mais especializados do que os abordados nesta lição.

Isso é normal.

Você não precisa conhecer todos os componentes antes de fazer sua primeira cena. Por enquanto, foque no padrão útil: uma entidade se torna útil quando você adiciona os componentes certos a ela.