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.

Customização do tipo de nó usando sufixos de nome

Muitas vezes, ao editar uma cena, há tarefas comuns que precisam ser feitas após a exportação:

  • Adicionando detecção de colisão a objetos.

  • Definindo objetos como malhas de navegação.

  • Remover nós que não são utilizados no motor de jogo (como luzes específicas usadas apenas para modelagem).

Para simplificar esse fluxo de trabalho, o Godot oferece vários sufixos que podem ser adicionados aos nomes dos objetos em seu software de modelagem 3D. Durante a importação, o Godot detectará esses sufixos nos nomes dos objetos e executará ações automaticamente.

Aviso

Todos os sufixos descritos abaixo podem ser utilizados com -, $ e _ e são insensíveis a maiúsculas e minúsculas.

Desabilitando o comportamento automático

Se você não deseja que o Godot realize nenhuma das ações descritas abaixo, você pode definir a opção de importação nodes/use_node_type_suffixes como false. Isso desativará todos os sufixos de tipo de nó, o que mantém os nós com o mesmo tipo indicado no arquivo original. No entanto, o sufixo -noimp ainda será respeitado, assim como sufixos que não são de nós, como -vcol ou -loop.

Alternativamente, você pode optar por não usar nenhum sufixo de nome definindo a opção de importação nodes/use_name_suffixes como false. Isso fará com que o código geral de importação de cena pare de olhar completamente para os sufixos de nome. No entanto, o código de importação específico do formato ainda pode verificar os sufixos de nome, como o importador glTF verificando o sufixo -loop.

Desativar essas opções torna os arquivos importados pelo editor mais semelhantes aos arquivos originais e mais semelhantes à importação de arquivos em tempo de execução. Para um fluxo de trabalho de importação que funciona em tempo de execução, gera resultados mais previsíveis e possui apenas comportamentos explicitamente definidos, considere definir essas opções como false e usar GLTFDocumentExtension em seu lugar.

Remover nós e animações (-noimp)

Nós e animações que possuírem o sufixo -noimp serão removidos durante a importação independentemente de seu tipo. Eles não aparecerão na cena importada.

Isso é equivalente a ativar Skip Import para um nó na janela de Configurações Avançadas de Importação.

Criar colisões (-col, -convcol, -colionly, -convcolonly)

A opção -col funcionará apenas para objetos Mesh. Se for detectado, um nó de colisão estática filho será adicionado, usando a mesma geometria da malha. Isto criará uma forma de colisão de malha de triângulo, que é uma opção lenta, mas precisa para a detecção de colisão. Esta opção é normalmente o que você quer para geometria de fase (mas veja também -colonly abaixo).

A opção -convcol criará uma ConvexPolygonShape3D em vez de uma ConcavePolygonShape3D. Diferentemente de malhas triangulares, que podem ser côncavas, uma forma convexa só pode representar corretamente uma forma sem ângulos côncavos (uma pirâmide é convexa, mas uma caixa oca é côncava). Por isso, formas de colisão convexas geralmente não são adequadas para geometria de níveis. Ao representar malhas suficientemente simples, formas convexas podem oferecer melhor desempenho do que colisões triangulares. Essa opção é ideal para objetos simples ou dinâmicos que exigem detecção de colisão razoavelmente precisa.

No entanto, em ambos os casos, a geometria visual é muito complexa ou muito irregular para colisões. Isto pode criar falhas físicas e retardar o motor desnecessariamente.

Para resolver isso, existe o modificador -colonly. Ele removerá a malha durante a importação e criará apenas uma colisão StaticBody3D. Isso ajuda a separar a malha visual da colisão efetiva.

A opção -convcolonly funciona de forma semelhante, mas cria uma ConvexPolygonShape3D utilizando decomposição convexa.

Em arquivos Collada, a opção -colonly também pode ser utilizada com objetos vazios do Blender. Na importação, será criado um StaticBody3D contendo um nó de colisão como filho. O nó de colisão utilizará uma das formas predefinidas abaixo, dependendo do tipo de visualização do objeto vazio no Blender:

Escolhendo um tipo de exibição para um Empty na criação no Blender

Escolhendo um tipo de exibição para um Empty na criação no Blender

Quando possível, tente usar algumas formas de colisão primitivas ao invés de malhas triangulares ou formas convexas. As formas primitivas costumam ter o melhor desempenho e confiabilidade.

Nota

Para melhor visualização no editor do Blender, você pode ativar a opção "X-Ray" nos objetos vazios de colisão e definir uma cor distinta em Editar > Preferências > Temas > Viewport 3D > Empty.

Se estiver usando o Blender 2.79 ou mais antigo, siga estas etapas em seu lugar: User Preferences > Themes > 3D View > Empty.

Ver também

Veja Formas de colisão (3D) para uma visão abrangente das formas de colisão.

Criar Oclusor (-occ, -occonly)

Se uma mesh for importada com o sufixo -occ, um nó Occluder3D será criado com base na geometria da mesh; ele não substitui a mesh. Uma mesh com o sufixo -occonly será convertida em um Occluder3D na importação.

Criar navegação (-navmesh)

Um nó de malha com o sufixo -navmesh será convertido em uma malha de navegação. O nó original da Malha será removido no momento da importação.

Cria um Veículo (-vehicle)

Um nó de malha com o sufixo -vehicle será importado como filho de um nó VehicleBody3D.

Crie uma Roda de Veículo (-wheel)

Um nó de malha com o sufixo -wheel será importado como filho de um nó VehicleWheel3D.

Corpo Rígido (-rigid)

Um nó de malha com o sufixo -rigid será importado como um RigidBody3D.

Loop de animação (-loop, -cycle)

Clipes de animação no arquivo 3D de origem que começam ou terminam com o marcador loop ou cycle serão importados como um Animation do Godot com a flag de loop ativada. Ao contrário dos outros sufixos descritos acima, isso não requer um hífen.

No Blender, isso requer o uso do Editor NLA e nomear a Ação com o prefixo ou sufixo loop ou cycle.

Alfa do material (-alpha)

Um material com o sufixo -alpha será importado com o modo de transparência TRANSPARENCY_ALPHA.

Cor de vértice do material (-vcol)

Um material com o sufixo -vcol será importado com as flags FLAG_ALBEDO_FROM_VERTEX_COLOR e FLAG_SRGB_VERTEX_COLOR ativadas.