Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Formatos 3D disponíveis
Ao lidar com assets 3D, Godot tem um flexível e configurável importador.
O Godot trabalha com cenas. Isso significa que toda a cena em que você está trabalhando no seu software de modelagem 3D favorito será transferida da forma mais fiel possível.
Godot suporta os seguintes formatos de arquivo de cena 3D:
glTF 2.0 (recomendado). O Godot oferece suporte tanto ao formato textual (
.gltf) quanto ao formato binário (.glb)..blend(Blender). Isso funciona chamando o Blender para exportar para glTF de maneira transparente (requer que o Blender esteja instalado).DAE (COLLADA), um formato mais antigo que possui suporte.
Formato OBJ (Wavefront) juntamente com seus arquivos de material MTL. Também é suportado, mas de forma bastante limitada devido às restrições do formato (sem suporte para pivôs, esqueletos, animações, UV2, materiais PBR, ...).
FBX, suportado através da biblioteca ufbx. O fluxo de importação anterior utilizava integração com FBX2glTF. Isso exige a instalação de um programa externo que depende do SDK proprietário FBX, portanto recomendamos utilizar o método padrão baseado em ufbx ou outros formatos listados acima (caso sejam adequados ao seu fluxo de trabalho).
Copie o arquivo da cena juntamente com as texturas e os dados de malha (caso estejam separados) para o repositório do projeto; então o Godot realizará uma importação completa ao receber foco na janela do editor.
Exportando arquivos glTF 2.0 do Blender (recomendado)
Existem 3 maneiras de exportar arquivos glTF a partir do Blender:
Como um arquivo binário glTF (
.glb).Como um arquivo glTF baseado em texto com dados binários e texturas separados (arquivo
.gltf+ arquivo.bin+ texturas).
Arquivos glTF binários (.glb) são a opção menor. Eles incluem a malha e as texturas configuradas no Blender. Quando importados para o Godot, as texturas passam a fazer parte do arquivo de material do objeto.
Existem duas razões para utilizar glTF com as texturas separadas. A primeira é manter a descrição da cena em formato textual e os dados binários em um arquivo binário separado. Isso pode ser útil para controle de versão caso você queira revisar alterações em um formato baseado em texto. A segunda é a necessidade de manter os arquivos de textura separados do arquivo de material. Se você não precisa de nenhuma dessas vantagens, arquivos glTF binários são suficientes.
O processo de importação do glTF primeiro carrega os dados do arquivo glTF em uma classe GLTFState na memória. Esses dados são então usados para gerar uma cena do Godot. Ao importar arquivos em tempo de execução, essa cena pode ser adicionada diretamente à árvore de nós (tree). O processo de exportação é o inverso disso: uma cena do Godot é convertida em uma classe GLTFState e, em seguida, o arquivo glTF é gerado a partir dela.
Ao importar arquivos glTF no editor, existem mais duas etapas. Após gerar a cena do Godot, a classe ResourceImporterScene é usada para aplicar configurações adicionais de importação, incluindo as configurações que você define na aba Import e na janela de Configurações Avançadas de Importação. Isso é então salvo como um arquivo de cena do Godot, que é o que acaba sendo usado quando você roda/exporta seu jogo.
Aviso
Se o seu modelo contiver blend shapes (também conhecidos como "shape keys" e "morph targets"), sua configuração de exportação glTF Data > Armature > Export Deformation Bones Only precisa estar definida como Enabled.
Exportar ossos que não causam deformação (non-deforming bones) de qualquer maneira levará a um sombreamento (shading) incorreto.
Nota
As versões do Blender anteriores à 3.2 não exportam texturas emissivas com o arquivo glTF. Se o seu modelo usa um e você está usando uma versão mais antiga do Blender, ele deve ser trazido separadamente.
Por padrão, o Blender tem a eliminação de faces desabilitada nos materiais e irá exportar os materiais para combinar como eles renderizam no Blender. Isso significa que os materiais na Godot terão seu modo de eliminação definido como Desativado. Isso pode diminuir o desempenho, uma vez que as faces posteriores serão renderizadas, mesmo quando estão sendo selecionadas por outras faces. Para resolver isso, habilite Backface Culling na aba Materiais do Blender, então exporte a cena para glTF novamente.
Importando arquivos .blend diretamente no Godot
Nota
Esta funcionalidade requer o Blender 3.0 ou posterior. Para melhores resultados, recomendamos usar o Blender 3.5 ou posterior, pois ele inclui muitas correções no exportador glTF.
É fortemente recomendado usar uma versão oficial do Blender baixada de blender.org, em vez de um pacote de distribuição Linux ou Flatpak. Isso evita quaisquer problemas relacionados ao empacotamento, como diferentes versões de bibliotecas que podem causar incompatibilidades ou restrições de sandbox.
O editor pode importar diretamente arquivos .blend chamando a funcionalidade de exportação glTF do Blender de forma transparente.
Isso permite que você itere em suas cenas 3D mais rapidamente, pois você pode salvar a cena no Blender, usar alt-tab de volta para o Godot e ver suas alterações imediatamente. Ao trabalhar com controle de versão, isso também é mais eficiente, pois você não precisa mais enviar (commit) uma cópia do arquivo glTF exportado para o controle de versão.
Para usar a importação de arquivos .blend, você deve instalar o Blender antes de abrir o editor do Godot (se estiver abrindo um projeto que já contém arquivos .blend). Se você mantiver o Blender instalado em seu local padrão, o Godot deverá ser capaz de detectar o caminho dele automaticamente. Se não for o caso, configure o caminho para o executável do Blender nas Configurações do Editor (Filesystem > Import > Blender > Blender Path).
Se você mantém arquivos .blend dentro da pasta do seu projeto, mas não quer que eles sejam importados pelo Godot, desative Filesystem > Import > Blender > Enabled nas configurações avançadas de Projeto (Project Settings).
O processo de importação de arquivos .blend converte para glTF primeiro, portanto, ele ainda usa o código de importação glTF do Godot. Sendo assim, o processo de importação de arquivos .blend é o mesmo que o processo de importação glTF, mas com uma etapa extra no início.
Nota
Ao trabalhar em equipe, lembre-se de que usar arquivos .blend no seu projeto exigirá que todos os membros da equipe tenham o Blender instalado. Embora o Blender seja um download gratuito, isso pode adicionar fricção ao trabalhar no projeto. A importação de arquivos .blend também não está disponível nos editores para Android e web, já que essas plataformas não podem chamar programas externos.
Se isso for problemático, considere usar cenas glTF exportadas do Blender em seu lugar.
Exportando arquivos DAE no Blender
O Blender possui suporte nativo ao formato COLLADA, mas ele não atende adequadamente às necessidades de motores de jogo e não deve ser utilizado sem adaptações. Ainda assim, cenas exportadas utilizando o suporte COLLADA nativo podem funcionar em cenas simples sem animação.
Para cenas complexas ou cenas que contêm animações, é altamente recomendável usar glTF em vez disso.
Importando arquivos OBJ no Godot
O OBJ é um dos formatos 3D mais simples que existem, então o Godot deve ser capaz de importar a maioria dos arquivos OBJ com sucesso. No entanto, o OBJ também é um formato muito limitado: ele não suporta skinning, animação, UV2 ou materiais PBR.
Existem 2 maneiras de utilizar malhas OBJ no Godot:
Carregue-os diretamente em um nó MeshInstance3D, ou em qualquer outra propriedade que espere uma mesh (como GPUParticles3D). Este é o modo padrão.
Altere o modo de importação deles para OBJ as Scene na aba Import e reinicie o editor. Isso permite que você use as mesmas opções de importação de cenas glTF ou Collada, como o unwrapping de UV2 na importação (para o Usando a iluminação global Lightmap).
Nota
O Blender 3.4 e posteriores podem exportar cores de vértices (vertex colors) RGB em arquivos OBJ (esta é uma extensão não padronizada do formato OBJ). O Godot é capaz de importar essas cores de vértices, mas elas não serão exibidas no material a menos que você ative Vertex Color > Use As Albedo no material.
As cores de vértices de meshes OBJ mantêm seu espaço de cor original uma vez importadas (sRGB/linear), mas seu brilho é limitado (clamped) a 1.0 (elas não podem ser excessivamente brilhantes).
Importando arquivos FBX no Godot
Por padrão, qualquer arquivo FBX adicionado a um projeto do Godot no Godot 4.3 ou posterior usará o método de importação ufbx. Qualquer arquivo que tenha sido adicionado a um projeto em uma versão anterior, como a 4.2, continuará sendo importado através do método FBX2glTF, a menos que você vá nas configurações de importação daquele arquivo e altere o importador para ufbx.
Se você mantém arquivos .fbx dentro da pasta do seu projeto, mas não quer que eles sejam importados pelo Godot, desative Filesystem > Import > FBX > Enabled nas configurações avançadas de Projeto (Project Settings).
Se você deseja configurar o fluxo de trabalho FBX2glTF, o que geralmente não é recomendado a menos que você tenha um motivo específico para usá-lo, você precisa baixar o executável do FBX2glTF, e então especificar o caminho para esse executável nas configurações do editor em Filesystem > Import > FBX > FBX2glTFPath
O processo de importação FBX2glTF converte para glTF primeiro, portanto, ele ainda usa o código de importação glTF do Godot. Sendo assim, o processo de importação FBX é o mesmo que o processo de importação glTF, mas com uma etapa extra no início.
Ver também
O processo completo de instalação para usar o FBX2glTF no Godot está descrito na página de importação FBX do site do Godot.