Cave: Guia de Introdução
Cave: Guia de Introdução
Lesson 10 of 19 • 25 XP
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.

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 Componente ela terá um lugar no Mundo 3D. - Adicione um
Mesh Componente ela pode se tornar visível. - Adicione um
Rigid Body Componente ela pode colidir com o mundo. - Adicione um
Python Componente ela pode executar código de gameplay. - Adicione um
Logic Bricks Componente ela pode executar lógica visual. - Adicione um
Audio Player Componente 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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.