# Modelos 3D

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5367cb41c363e65a52e8beaf39559643751a7b1f%2F01-3d-essentials-banner%20\(1\).png?alt=media)

Al importar modelos 3D en Decentraland, es importante asegurarse de que estén en formato glTF. Estos modelos pueden incluir una variedad de características compatibles. Esta sección trata sobre cómo hacerlos compatibles con Decentraland y seguir las mejores prácticas.

Tenga en cuenta que todos los modelos, shaders y texturas deben cumplir con el [**limitaciones de la escena**](https://docs.decentraland.org/creator/development-guide/scene-limitations/).

## **Formatos de modelos 3D compatibles**

Todos los modelos 3D en Decentraland deben estar en formato glTF. [**glTF**](https://www.khronos.org/gltf) (GL Transmission Format) es un proyecto abierto de Khronos que proporciona un formato común y extensible para activos 3D que es eficiente y altamente interoperable con las tecnologías web modernas.

Los modelos glTF pueden tener ya sea un *.gltf* o un *.glb* extensión. Los archivos glTF son legibles por humanos; puede abrir uno en un editor de texto y leerlo como un archivo JSON. Esto es útil, por ejemplo, para verificar que las animaciones están correctamente adjuntas y comprobar sus nombres. Los archivos glb son binarios, por lo que no son legibles, pero son considerablemente más pequeños en tamaño, lo que es bueno para el rendimiento de la escena.

Recomendamos usar *.gltf* mientras trabaja en una escena, pero luego cambiar a *.glb* al subirla.

Los siguientes aspectos de un modelo 3D pueden estar incrustados en un *glTF* archivo o referenciados externamente:

* Las texturas pueden estar incrustadas o referenciadas desde un archivo de imagen externo.
* Los datos binarios sobre la geometría, animaciones y otros aspectos relacionados con buffers pueden estar incrustados o referenciados desde un *.bin* archivo.

{% hint style="warning" %}
**📔 Nota**: Animaciones *deben* estar incrustadas dentro del *glTF* archivo para usarse en Decentraland. Además, a cada modelo solo se le permite tener 1 mapa UV.
{% endhint %}

## **Por qué usamos glTF**

Usamos glTF porque proporciona un conjunto potente de características que incluye:

* Objetos jerárquicos
* Estructura esquelética y animación
* Canalización robusta para materiales y shaders
* Información de escena como fuentes de luz y cámaras (que pueden usarse en desarrollos futuros).

Comparado con *COLLADA*, las características compatibles son muy similares. Sin embargo, debido a que glTF se centra en proporcionar un “formato de transmisión” en lugar de un formato de editor, es más interoperable con las tecnologías web.

## **Exportar y convertir glTF**

### **Exportar a glTF desde Blender**

Blender tiene un exportador glTF nativo.

Para exportar seleccione los modelos que desea que estén contenidos en el archivo .glb, luego vaya a File - Export - glTF 2.0

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-30e38513ce59831ac027cf1787af061bfdb7c267%2F02-export-glt-from-blender%20\(1\).png?alt=media) ![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-86db9dd94033fbf82446265353dce37915351452%2F03-exporting-options%20\(1\).png?alt=media)

*En el panel lateral marque “Selected Objects” en caso de que quiera exportar solo los objetos seleccionados en la escena. Además, en el menú desplegable Mesh seleccione Apply Modifiers (si los hubo), luego Export.*

### **Exportar a glTF desde 3D Studio Max**

3D Studio Max no admite exportar a glTF por defecto, pero puede instalar un plugin para habilitarlo.

1. Descargue el plugin desde [este enlace](https://github.com/BabylonJS/Exporters/tree/master/3ds%20Max).
2. Instale el plugin siguiendo [estas instrucciones](http://doc.babylonjs.com/resources/3dsmax#how-to-install-the-3ds-max-plugin).
3. Exporte archivos glTF usando el plugin siguiendo [estas instrucciones](http://doc.babylonjs.com/resources/3dsmax_to_gltf).

### **Exportar a glTF desde Maya**

Maya no admite exportar a glTF por defecto, pero puede instalar un plugin para habilitarlo.

1. Instale el plugin siguiendo [estas instrucciones](http://doc.babylonjs.com/resources/maya).
2. Exporte archivos glTF usando el plugin siguiendo [estas instrucciones](http://doc.babylonjs.com/resources/maya_to_gltf#pbr-materials).

{% hint style="warning" %}
**📔 Nota**: Como alternativa, puede probar [este otro plugin](https://github.com/WonderMediaProductions/Maya2glTF) también.
{% endhint %}

### **Exportar a glTF desde Unity**

Unity no admite exportar a glTF por defecto, pero puede instalar un plugin para habilitarlo.

Descargue el plugin desde [este enlace](https://github.com/sketchfab/Unity-glTF-Exporter).

{% hint style="warning" %}
**📔 Nota**: Como alternativa, puede probar [este otro plugin](https://assetstore.unity.com/packages/tools/utilities/collada-exporter-for-unity2017-99793) también.
{% endhint %}

### **Exportar a glTF desde SketchUp**

SketchUp no admite exportar a glTF por defecto, pero puede instalar un plugin para habilitarlo.

Descargue el plugin desde [este enlace](https://extensions.sketchup.com/en/content/gltf-exporter).

### **Convertir FBX a glTF**

*.fbx* es un estándar muy popular para modelos 3D. No es compatible con nuestro Engine, pero puede exportar fácilmente un *.fbx* modelo a *.gltf* formato.

Recomendamos usar estas herramientas:

* [**Blender**](https://www.blender.org/download/) : Una forma fácil de convertir .fbx a glTF es importando el .fbx en una escena usando Blender y luego exportarlo desde allí.
* [**Herramienta CLI de Facebook**](https://github.com/facebookincubator/FBX2glTF) : esta es la alternativa más robusta, pero requiere usar la línea de comandos.
* [**Blackthread**](https://blackthread.io/gltf-converter) : Esta es la herramienta web más completa. Menos robusta que la CLI, pero mucho más fácil de usar.
* [**Modelconverter**](https://modelconverter.com/convert.html) : Otra herramienta web fácil de usar.

## **Previsualizar un modelo glTF**

Una forma rápida y sencilla de previsualizar el contenido de un modelo glTF antes de importarlo a una escena es usar el [**Babylon.js Sandbox**](https://sandbox.babylonjs.com/). Simplemente arrastre y suelte el archivo glTF (y su archivo *.bin* si corresponde) en el canvas para ver el modelo.

En el sandbox también puede previsualizar las animaciones que están incrustadas en el modelo; seleccione cuál mostrar eligiéndola en un menú desplegable.

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bf9bd765a4a99705f7649909c74acd6dddb860d1%2F04-preview-gltf%20\(1\).png?alt=media)

## **Analizar glTF**

Una gran herramienta para analizar sus glTFs es usar [**glTF Sample Viewer**](https://github.khronos.org/glTF-Sample-Viewer-Release/). Esta herramienta le permite inspeccionar canales, texturas, reacción a diferentes entornos de luz, previsualizar animaciones y mucho más. ¡Ideal para modelos individuales.

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-9d1b28696f55191432bb5c9c315c7497f91b970c%2F05-gltf-sample-viewer%20\(1\).png?alt=media)

Otra herramienta útil es [**gltf.report/**](https://gltf.report/). Simplemente arrastre y suelte sus modelos en el sitio web para ver el contenido del paquete glTF y evaluar qué partes del modelo pueden optimizarse.

Esta herramienta puede ser especialmente útil para archivos grandes que contienen múltiples modelos, texturas y animaciones. Por ejemplo, al organizar las texturas por tamaño, puede identificar fácilmente qué texturas están utilizando más recursos.

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-ca94129743df645c2e758d463f7837dea3dd03d0%2F05-gltf-report%20\(1\).png?alt=media)

## **Optimizar un glTF**

La siguiente herramienta ofrece algunas optimizaciones que harán que los modelos 3D sean más livianos y más rápidos de descargar para los jugadores en su escena.

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

Entre otras cosas, convierte el formato *.gltf* en *.glb*, que es binario y por lo tanto ocupa mucho menos. También coloca los archivos de textura fuera del modelo 3D, lo que le permite usar la misma textura en múltiples modelos.

{% hint style="warning" %}
**📔 Nota**: *.glb* El formato por defecto siempre tiene las texturas incrustadas en el archivo. El Engine no puede reconocer dos texturas incrustadas como iguales; necesitan ser archivos externos que compartan el mismo hash.
{% endhint %}

## Ver también

Las páginas siguientes también cubren temas relacionados con modelos 3D para Decentraland:

* [Meshes](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/meshes)
* [Materials](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/materials)
* [Textures](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/textures)
* [Colliders](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/colliders)
* [Animations](https://docs.decentraland.org/creator/content-creator-es/modelado-3d-y-animaciones/animations)
