> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-pt/modelacao-3d-e-animacoes/3d-models.md).

# Modelos 3D

![](/files/e66184e789a8483d759c0f3272974ef08206cae9)

Ao importar modelos 3D para Decentraland, é importante garantir que eles estejam no formato glTF. Esses modelos podem incluir uma variedade de recursos suportados. Esta seção trata de como torná-los compatíveis com Decentraland e de seguir as melhores práticas.

{% hint style="info" %}
**💡 Dica**: Instale o [plugin Decentraland Tools para Blender](https://extensions.blender.org/add-ons/decentraland-tools/). Ele inclui várias funções úteis para ajudar você a editar e exportar modelos 3D, wearables e emotes.
{% endhint %}

Observe que todos os modelos, shaders e Textures devem cumprir as [**limitações da scene**](https://docs.decentraland.org/creator/scenes-sdk7/optimizing/scene-limitations/).

## **Formatos de Modelos 3D Suportados**

Todos os modelos 3D em Decentraland devem estar no formato glTF. [**glTF**](https://www.khronos.org/gltf) (GL Transmission Format) é um projeto aberto da Khronos que fornece um formato comum e extensível para assets 3D, eficiente e altamente interoperável com tecnologias web modernas.

Os modelos glTF podem ter uma *.gltf* ou um *.glb* extensão. Os arquivos glTF são legíveis por humanos; você pode abrir um em um editor de texto e lê-lo como um arquivo JSON. Isso é útil, por exemplo, para verificar se as animações estão corretamente anexadas e conferir seus nomes. Os arquivos glb são binários, portanto não são legíveis, mas são consideravelmente menores, o que é bom para o desempenho da scene.

Recomendamos usar *.gltf* enquanto você está trabalhando em uma scene, mas depois mudar para *.glb* ao enviá-la.

Os seguintes aspectos de um modelo 3D podem ser incorporados em um *glTF* arquivo ou referenciados externamente:

* As Textures podem ser incorporadas ou referenciadas a partir de um arquivo de imagem externo.
* Dados binários sobre geometria, animações e outros aspectos relacionados ao buffer do modelo podem ser incorporados ou referenciados a partir de um externo *.bin* arquivo.

{% hint style="warning" %}
**📔 Nota**: As animações *devem* ser incorporadas dentro do *glTF* arquivo para uso em Decentraland. Além disso, cada modelo só pode ter 1 mapa UV.
{% endhint %}

## **Por que Usamos glTF**

Usamos glTF porque ele oferece um conjunto poderoso de recursos que inclui:

* Objetos hierárquicos
* Estrutura esquelética e animação
* Pipeline robusto para materiais e shaders
* Informações da scene, como fontes de luz e cameras (que podem ser usadas em desenvolvimentos futuros).

Em comparação com *COLLADA*, os recursos suportados são muito semelhantes. No entanto, como o glTF se concentra em fornecer um “formato de transmissão” em vez de um formato de editor, ele é mais interoperável com tecnologias web.

## **Exportar e Converter glTF**

### **Exportar para glTF a partir do Blender**

O Blender tem um exportador nativo de glTF.

Para exportar, selecione os modelos que você quer que estejam contidos no arquivo .glb e então vá para File - Export - glTF 2.0

![](/files/1b2e3c9d71aec63ac9488a06e05030d1993c2c8e) ![](/files/8a66e951a0fd536d31762801f43ecc8a4770511f)

*No painel lateral, marque “Selected Objects” caso queira exportar apenas os objetos selecionados na scene. Além disso, no Mesh Dropdown, selecione Apply Modifiers (se houver), depois Export.*

### **Exportar para glTF a partir do 3D Studio Max**

O 3D Studio Max não oferece suporte à exportação para glTF por padrão, mas você pode instalar um plugin para habilitá-la.

1. Baixe o plugin em [este link](https://github.com/BabylonJS/Exporters/tree/master/3ds%20Max).
2. Instale o plugin seguindo [estas instruções](http://doc.babylonjs.com/resources/3dsmax#how-to-install-the-3ds-max-plugin).
3. Exporte arquivos glTF usando o plugin seguindo [estas instruções](http://doc.babylonjs.com/resources/3dsmax_to_gltf).

### **Exportar para glTF a partir do Maya**

O Maya não oferece suporte à exportação para glTF por padrão, mas você pode instalar um plugin para habilitá-la.

1. Instale o plugin seguindo [estas instruções](http://doc.babylonjs.com/resources/maya).
2. Exporte arquivos glTF usando o plugin seguindo [estas instruções](http://doc.babylonjs.com/resources/maya_to_gltf#pbr-materials).

{% hint style="warning" %}
**📔 Nota**: Como alternativa, você pode tentar [este outro plugin](https://github.com/WonderMediaProductions/Maya2glTF) também.
{% endhint %}

### **Exportar para glTF a partir do Unity**

O Unity não oferece suporte à exportação para glTF por padrão, mas você pode instalar um plugin para habilitá-la.

Baixe o plugin em [este link](https://github.com/sketchfab/Unity-glTF-Exporter).

{% hint style="warning" %}
**📔 Nota**: Como alternativa, você pode tentar [este outro plugin](https://assetstore.unity.com/packages/tools/utilities/collada-exporter-for-unity2017-99793) também.
{% endhint %}

### **Exportar para glTF a partir do SketchUp**

O SketchUp não oferece suporte à exportação para glTF por padrão, mas você pode instalar um plugin para habilitá-la.

Baixe o plugin em [este link](https://extensions.sketchup.com/en/content/gltf-exporter).

### **Converter FBX em glTF**

*.fbx* é um padrão muito popular para modelos 3D. Não é suportado pelo nosso engine, mas você pode facilmente exportar um *.fbx* modelo para *.gltf* formato.

Recomendamos usar estas ferramentas:

* [**Blender**](https://www.blender.org/download/): Uma maneira fácil de converter .fbx para glTF é importar o .fbx para uma scene usando o Blender e depois exportá-lo a partir daí.
* [**Ferramenta CLI do Facebook**](https://github.com/facebookincubator/FBX2glTF): esta é a alternativa mais robusta, mas requer o uso da linha de comando.
* [**Blackthread**](https://blackthread.io/gltf-converter): Esta é a ferramenta baseada na web mais completa. Menos robusta que a CLI, mas muito mais fácil de usar.
* [**Modelconverter**](https://modelconverter.com/convert.html): Outra ferramenta baseada na web fácil de usar.

## **Pré-visualizar um modelo glTF**

Uma maneira rápida e fácil de pré-visualizar o conteúdo de um modelo glTF antes de importá-lo para uma scene é usar o [**Babylon.js Sandbox**](https://sandbox.babylonjs.com/). Basta arrastar e soltar o arquivo glTF (e seu *.bin* arquivo, se aplicável) no canvas para visualizar o modelo.

No sandbox, você também pode pré-visualizar as animações incorporadas no modelo, selecionando quais exibir por meio de um menu suspenso.

![](/files/51160660fa8fd66ee1e24c985de560947a676360)

## **Analisar glTF**

Uma ótima ferramenta para analisar seus glTFs é usar [**glTF Sample Viewer**](https://github.khronos.org/glTF-Sample-Viewer-Release/). Esta ferramenta permite inspecionar canais, Textures, a reação a diferentes ambientes de luz, pré-visualizar animações e muito mais! Ideal para modelos individuais.

![](/files/e0059690fd0a242bd03f84dae736ff4fc2b67576)

Outra ferramenta útil é [**gltf.report/**](https://gltf.report/). Basta arrastar e soltar seus modelos no site para visualizar o conteúdo do pacote glTF e avaliar quais partes do modelo podem ser otimizadas.

Esta ferramenta pode ser especialmente útil para arquivos grandes contendo vários modelos, Textures e animações. Por exemplo, ao organizar Textures por tamanho, você pode identificar facilmente quais Textures estão consumindo mais recursos.

![](/files/7b7db34c65c08d8f4721736bc5800626f7db5291)

## **Otimizar um glTF**

A ferramenta a seguir oferece algumas otimizações que tornarão os modelos 3D mais leves e mais rápidos de baixar para os jogadores na sua scene.

[glTF pipeline](https://github.com/AnalyticalGraphicsInc/gltf-pipeline)

Entre outras coisas, ela converte *.gltf* o formato em *.glb*, que é binário e, portanto, ocupa muito menos espaço. Ela também coloca os arquivos de textura fora do modelo 3D, o que permite usar a mesma textura em vários modelos.

{% hint style="warning" %}
**📔 Nota**: *.glb* o formato, por padrão, sempre tem Textures incorporadas no arquivo. O engine não consegue reconhecer duas Textures incorporadas como a mesma; elas precisam ser arquivos externos que compartilhem o mesmo hash.
{% endhint %}

## Veja também

As páginas a seguir também abordam tópicos relacionados a modelos 3D para Decentraland:

* [Meshes](/creator/content-creator-pt/modelacao-3d-e-animacoes/meshes.md)
* [Materials](/creator/content-creator-pt/modelacao-3d-e-animacoes/materials.md)
* [Textures](/creator/content-creator-pt/modelacao-3d-e-animacoes/textures.md)
* [Colliders](/creator/content-creator-pt/modelacao-3d-e-animacoes/colliders.md)
* [Animations](/creator/content-creator-pt/modelacao-3d-e-animacoes/animations.md)
* [Recursos úteis](/creator/content-creator-pt/scenes-sdk7/primeiros-passos/useful-resources.md): addons do Blender, bibliotecas de assets e ferramentas de IA para acelerar seu fluxo de trabalho 3D


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/modelacao-3d-e-animacoes/3d-models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
