Cave: Guia de Introdução
Cave: Guia de Introdução
Lesson 12 of 19 • 50 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Cave é um Game Engine, o que significa que ele permite transformar suas ideias em videogames reais. É um meio para você juntar tudo, criar seus designs de níveis, interfaces e lógica. Mas para a criação artística propriamente dita, como texturas, modelos 3D, animações, sons e músicas, você pode preferir usar uma ferramenta especializada para isso. Ferramentas como Blender, 3Ds Max, Maya, Sketchup para 3D, Adobe Photoshop, GIMP, Krita para manipulação de imagens ou Audacity para som. Claro, você pode usar qualquer outra ferramenta externa para esse fim. O importante aqui é:
A maioria dos jogos usa conteúdo feito fora do engine.
Não é diferente no Cave. Isso significa que você precisará importar esses arquivos para o engine, por isso é essencial entender como e quais são as boas e más práticas. Importar é a etapa que traz esses arquivos para o Cave para que possam fazer parte do seu projeto.
Esta lição apresenta o fluxo de trabalho básico de importação para iniciantes.
Você vai aprender:
- Quais tipos de arquivos o Cave pode importar.
- O que arquivos importados tornam-se dentro do Cave.
- Por que importações simples no início são melhores do que pacotes enormes de assets.
- Como importações de modelos podem gerar vários tipos de assets.
- O que verificar após a importação.
O objetivo é ajudar você a entender o que acontece quando arquivos externos se tornam assets do Cave.
O Que Pode Ser Importado?
O Cave pode importar vários tipos de conteúdo externo.
| Tipo de Arquivo Importado | Torna-se |
|---|---|
| Imagens (vários formatos) | Assets de texturas. |
| Áudio OGG | Assets de áudio. |
| Fontes TTF | Assets de fontes. |
Arquivos .cavePkg |
Pacotes de assets do Cave importados. |
| Modelos 3D | Meshes, materiais, texturas, armaduras, animações e templates, dependendo do arquivo. |
Após importar, esses arquivos tornam-se assets do Cave no Asset Browser.
Isso significa que podem ser usados em Scenes, Materials, Entities e Entity Templates, UI, Sistemas de Áudio, Scripts, Lógica, em qualquer lugar! Arquivos importados não são mais apenas arquivos soltos no disco. Tornam-se conteúdo do projeto que o Cave pode referenciar, salvar, organizar e reutilizar.
Cave usa seus próprios formatos
Ao importar QUALQUER arquivo para o Cave (imagens, texturas, áudios, modelos 3D, etc), o asset é convertido para um formato proprietário e customizado do Cave Engine. Isso é importante porque esse formato interno é muito mais rápido para o engine processar e usar, entregando o melhor desempenho possível para seu jogo. Muitas otimizações internas e caching são automaticamente feitas pelo engine para garantir que seus assets estejam prontos para produção.
> Tudo isso é interno e você não precisa se preocupar, mas é essencial entender que esse processo ocorre e como isso te afeta (e por que é bom).
Se você importar um arquivo de imagem .png para o Cave, o engine não usará o arquivo png original no seu jogo final. Ele passa por um rápido processo de conversão assim que você o solta dentro do engine, e o formato do Cave será usado em seu lugar. O mesmo acontece com áudios ou modelos 3D. Essa informação é especialmente importante para assets 3D: o Cave não usa formatos brutos DCC como .fbx, .obj, .glb. Ele pode importá-los, mas são convertidos para o formato do engine.
A razão para isso é que, embora esses formatos sejam populares, analisar algo como um fbx ou mesmo um png diretamente em um jogo é custoso e pode afetar o desempenho. Então o Cave extrai todos os dados necessários, como Meshes, Materials, Animações, Texturas, e então converte e armazena no formato do engine.
Isso tem três implicações importantes:
- Seu jogo rodará mais rápido e terá menor peso no disco.
- A importação de assets é destrutiva: o Cave não mantém uma referência original do seu asset RAW, então se fizer uma mudança externa nele, terá que importar novamente.
- Alguns recursos podem não estar disponíveis: embora alguns formatos de assets sejam suportados, certos recursos contidos nele podem não ser suportados pelo Cave. Nesse caso, você será notificado e o processo de importação não incluirá esses recursos no asset final.
Agora que você sabe como o processo de importação funciona, vamos aprender a fazer isso.
Importando Imagens por Arrastar e Soltar
Você pode importar imagens arrastando-as para dentro do Asset Browser.
O Cave suporta a maioria dos formatos comuns de imagem, como:
- PNG.
- JPG e JPEG.
- TGA.
- BMP.
- HDR.
- PSD.
- PNM.
- GIF.
- PIC.
- DDS.
Imagens importadas tornam-se Texture Assets e podem ser usadas por materiais, elementos UI, configurações de céu e outros sistemas que precisam de dados de imagem. Por exemplo, uma textura pode ser um mapa de cor para um material de pedra, um ícone na UI ou uma imagem de skybox para uma Scene.
Para um primeiro teste, mantenha simples: importe uma textura, atribua-a a um material, coloque esse material em uma mesh na Scene e confira o resultado na 3D View.
Importando Arquivos de Áudio
Áudios também podem ser importados arrastando para o projeto. Atualmente, Cave importa arquivos de áudio OGG. Se você tem áudio em outro formato, converta para OGG antes de importar. Existem ferramentas online para essa conversão, mas recomendamos também o software Audacity, que é gratuito e extremamente fácil de entender e salvar áudio em ogg.
Um arquivo OGG é um formato de contêiner multimídia livre e de código aberto, desenvolvido pela Xiph.Org Foundation. É usado principalmente para transmissão e armazenamento de áudio digital de alta qualidade, muitas vezes alcançando melhor qualidade sonora em arquivos menores que MP3s tradicionais. ref
Áudios importados tornam-se assets que podem ser usados em qualquer lugar do engine, por exemplo, em Componentes de Reprodutores de Áudio, Logic Bricks ou chamados por código Python. Exemplo:
cave.playSound("My Audio File")
Boas importações iniciais de áudio são curtas e fáceis de testar:
- Um som de pegar moeda.
- Um clique de botão.
- Uma porta abrindo.
- Um loop simples de ambiente.
- Uma música para a trilha sonora do seu jogo.
Importando Fontes e Pacotes do Cave
O Cave pode importar arquivos de fonte TTF. TTF (TrueType Font) é um formato de fonte desenvolvido originalmente pela Apple e depois adotado pela Microsoft, tornando-se um dos formatos padrão usados hoje para renderização escalável de texto digital.
Fontes são usadas principalmente pelo UI Element Component, permitindo criar HUDs, textos, menus, botões, legendas, créditos, interfaces de diálogo, etc. A escolha da fonte pode fazer grande diferença, até mesmo em menus simples.
Importando Pacotes do Cave
O Cave também pode importar arquivos .cavePkg. Um pacote do Cave é um pacote de assets do Cave que pode ser trazido para outro projeto.
Se você for ao Asset Browser e clicar com o botão direito em uma pasta ou arquivo, poderá exportá-lo como pacote do Cave. Ao exportar um pacote, poderá importá-lo depois em outros projetos. Isso é muito útil para compartilhar lógica comum entre diferentes projetos. Lembre-se que ao exportar, só o que estiver dentro da pasta ou asset que clicou será incluído. Então, se quiser exportar, por exemplo, um material que usa um conjunto de texturas, é importante juntar tudo numa pasta e depois exportar a pasta. Caso importe só o material, as texturas não serão incluídas.
Quando você arrasta e solta um pacote do Cave no Asset Browser do Cave Engine, ele será importado e a estrutura original de arquivos exportada será recriada no seu projeto existente. Muito útil, novamente, para compartilhar assets reutilizáveis, trazer conteúdo padrão para um novo projeto ou mover pedaços de projeto entre projetos diferentes.
Importando Modelos 3D
Agora chegamos a uma das partes mais importantes de um engine 3D, que é importar modelos 3D. O Cave usa assimp para suportar a importação de uma ampla variedade de formatos de modelos 3D através do importador.
Ele suporta múltiplos formatos de modelos através do importador, mas o FBX é o formato principal recomendado para o Cave.
Importações de modelos podem gerar vários tipos de assets de uma só vez:
- Meshes.
- Materials.
- Textures.
- Armatures.
- Animações.
- Entity Templates.
O resultado exato depende do arquivo original.
Uma caixa simples pode gerar apenas mesh, material, textura e template. Um personagem animado pode gerar meshes, uma armadura, animações, materiais, texturas e um template mais complexo.
Recomendações para as Primeiras Importações
Para seus primeiros testes de importação, use assets simples e organizados. Kenney Asset Packs (CC0) são uma boa escolha para iniciantes porque geralmente são bem organizados, leves e fáceis de entender. Você também pode conferir os Quaternius Assets (CC0) ou navegar na FAB Asset Store.
Boas primeiras importações podem ser uma caixa, uma pedra, uma árvore low-poly, um prédio simples ou um personagem. Evite começar com um pacote gigante de personagens ou um arquivo enorme de ambiente. Assets simples facilitam entender o que o Cave cria, quais configurações são importantes e como o conteúdo aparece no Asset Browser. Depois, você pode passar para setups mais complexos.
Importando um Modelo Passo a Passo
Ao arrastar e soltar um asset (como FBX) no Asset Browser do Cave, você verá uma janela como esta:

Ele suporta arrastar e soltar múltiplos arquivos de uma vez, e será criada uma aba para cada arquivo. Em cada aba, você poderá selecionar os assets que deseja importar. Isso também mostrará quais tipos de assets existem, e se você expandir o cabeçalho de cada tipo, verá quais assets foram reconhecidos e convertidos pelo importador do Cave. Também permitirá selecionar individualmente o que deseja importar ou não, e renomear os arquivos de acordo. Você poderá alterar os nomes dos assets importados depois também.
No topo, antes de cada aba de arquivo, você encontrará duas opções globais (por importação de asset):
- As Configurações, que permitem selecionar se você quer criar uma subpasta para o asset importado ou não, ou se deseja gerar física automaticamente no entity template que será gerado pela engine.
- E também as opções de Filtros, que são úteis quando você está importando dezenas de assets e nós, e só se importa com algo específico no arquivo, como a mesh.
Uma importação básica de modelo geralmente segue assim:
- Crie ou escolha uma pasta no Asset Browser.
- Arraste o arquivo do modelo para essa pasta.
- Espere o Cave analisar o arquivo.
- Revise as opções de importação.
- Escolha quais assets gerados devem ser importados.
- Ajuste a escala de importação se necessário.
- Confirme a importação.
- Inspecione os assets gerados no Asset Browser.
As opções de importação podem mostrar os assets gerados agrupados por tipo.
Isso permite que você decida o que deve ser importado, ao invés de aceitar tudo cegamente. Isso é útil pois arquivos de modelo podem conter mais dados do que você realmente precisa.
DICA IMPORTANTE:
Se você estiver baixando centenas de assets ou um pacote de assets, como os pacotes Kenney ou Quaternius, vai notar que esses pacotes normalmente têm um arquivo FBX diferente para cada objeto, e dentro de cada arquivo FBX há uma cópia do material e às vezes até da textura que será usada em todos esses assets.
Se você arrastar e soltar todos esses assets contendo uma cópia do mesmo material em cada arquivo, o Cave, como esperado, também importará todas as cópias, gerando muitos dados desnecessários no seu projeto e eventualmente tornando a performance do seu jogo ineficiente. Isso não é falha da engine, é simplesmente porque há uma cópia dos materiais em cada arquivo FBX.
A melhor prática nesse caso é importar primeiro um único arquivo FBX na engine, verificar o que está dentro desse arquivo, confirmar o material nele. Após essa primeira importação e o material estar no seu projeto, importe os demais arquivos, usando os filtros para desabilitar a importação de material e textura, já que eles já foram importados pela engine no primeiro arquivo. Então, quando você confirmar a importação, o Cave tentará localizar esse material já importado pelo nome e usá-lo em vez disso.
Entendendo Meshes Importadas
Um modelo importado pode gerar uma mesh ou várias meshes. Isso depende de como o modelo foi construído na ferramenta DCC original.
Por exemplo:
| Modelo Fonte | Possível Resultado da Importação |
|---|---|
| Caixa simples | Uma mesh, um Material, um Entity Template. |
| Objeto com partes separadas | Múltiplas meshes e Materiais, um Entity Template. |
| Personagem animado | Meshes, Armadura e animações, um Entity Template. |
Após importar, inspecione os assets de mesh gerados e o Entity Template gerado.
Perceba que para cada importação, um entity template será gerado.
O entity template tenta replicar as configurações da cena feitas por você na sua ferramenta DCC, como o Blender. Então se você criou um layout no seu software de modelagem, posicionando objetos em lugares específicos, isso estará presente como um entity template. Normalmente você não usará o entity template cru diretamente, mas ele é útil para arrastar objetos para sua cena para rapidamente identificá-los ou para torná-los locais, ao invés de usar um template e começar a editar no Cave.
Depois de importar seu asset, verifique problemas comuns:
- O objeto está muito pequeno?
- Está muito grande?
- Está rotacionado incorretamente?
- Foi dividido de forma inesperada?
- O template gerado parece correto?
É melhor detectar esses problemas imediatamente, antes de já ter usado o asset em um nível.
Se encontrar algum problema com os assets importados, vale abrir eles no Blender ou qualquer DCC para verificar se estão corretos. Também recomendamos que você triangule as meshes do asset antes de importar para o Cave.
IMPORTANTE: Quando você importa um modelo 3D no Cave, ele tenta automaticamente triangulá-lo. Mas às vezes podem haver erros na triangulação, causando "buracos" ou faces criadas incorretamente no modelo 3D. Para evitar isso, sempre sugerimos que você vá na sua ferramenta DCC e triangule as faces você mesmo.
Entendendo Materiais e Texturas
Modelos importados também podem gerar materiais e texturas.
Um material controla a aparência da superfície. Uma textura fornece dados de imagem usados pelo material.
Após a importação, sempre confira o material:
- A textura albedo está atribuída?
- Os mapas normais estão corretos?
- Mapas de roughness ou metallic foram importados?
- O material parece correto na viewport?
As importações são úteis, mas não fazem milagres.
É normal ajustar materiais depois da importação. Por exemplo, talvez seja necessário ajustar o roughness, corrigir uma textura faltante ou escolher uma configuração de material melhor para o estilo visual do seu jogo.
Meshes Multimateriais
No Cave, uma mesh usa um material só. Se um objeto na sua ferramenta DCC usa múltiplos materiais, o Cave representa isso como múltiplas meshes.
Uma entidade pode ter ainda múltiplos Componentes de Mesh, então o objeto final pode parecer igual na cena. A estrutura é diferente:
Objeto com Múltiplos Materiais
Componente de Mesh usando o Material A
Componente de Mesh usando o Material B
Componente de Mesh usando o Material C
Isso oferece ao Cave uma relação limpa de uma mesh para um material, permitindo ainda que objetos importados complexos apareçam corretamente.
Devido a como o Cave funciona, se você importar uma mesh multimaterial no seu projeto, notará que no asset browser a mesh estará dividida em partes diferentes. Mas o Cave tentará recriar a entidade final no Entity Template para você com todas as meshes combinadas.
Entity Template Importado
Ao importar um modelo, o Cave cria um Entity Template que representa a configuração original. Esse template é útil pois preserva a composição pretendida tanto quanto possível.
Por exemplo, um prédio importado pode gerar:
- Vários assets de mesh.
- Vários assets de material.
- Assets de textura.
- Um Entity Template que junta as partes.
Esse template é normalmente o asset mais fácil para arrastar para a cena.
Se o objeto importado parecer correto como template, você pode reutilizá-lo como qualquer outro template do Cave. O objetivo é trazer esses assets para as cenas e transformá-los em espaços jogáveis.
Dicas Básicas de Importação
Mantenha as importações organizadas:
- Prefira FBX para modelos.
- Triangule as faces antes.
- Use OGG para áudio.
- Mantenha nomes de assets legíveis.
- Prefira nomes com espaços ou PascalCase.
- Importe em pastas organizadas.
- Verifique a escala da importação.
- Inspecione os materiais gerados.
- Teste o template importado na viewport.
- Salve após a importação.
Importar é uma parte normal do desenvolvimento.
Faça em passos pequenos, inspecione o resultado e continue construindo. Um fluxo de importação limpo salvará muito tempo quando seu projeto começar a usar mais conteúdo personalizado.