Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Cave es un motor de juegos, lo que significa que te permite transformar tus ideas en videojuegos reales. Es un medio para reunir todo, crear tus diseños de niveles, interfaces y lógica. Pero para la creación del arte real, como texturas, modelos 3D, animaciones, sonidos y música, puede que prefieras usar una herramienta especializada para ello. Herramientas como Blender, 3Ds Max, Maya, Sketchup para 3D, Adobe Photoshop, GIMP, Krita para manipulación de imágenes o Audacity para sonido. Por supuesto, puedes utilizar cualquier otra herramienta externa para esto. Lo importante aquí es:

La mayoría de los juegos utilizan contenido creado fuera del motor.

Eso no es diferente en Cave. Esto significa que necesitarás importar esos archivos al motor, así que es esencial que entiendas cómo y cuáles son las buenas y malas prácticas. La importación es el paso que lleva esos archivos a Cave para que puedan convertirse en parte de tu proyecto.

Esta lección introduce el flujo de trabajo de importación para principiantes.

Aprenderás:

  • Qué tipos de archivos puede importar Cave.
  • Qué se convierten los archivos importados dentro de Cave.
  • Por qué las importaciones iniciales simples son mejores que los grandes paquetes de activos.
  • Cómo las importaciones de modelos pueden generar varios tipos de activos.
  • Qué verificar después de importar.

El objetivo es ayudarte a entender qué sucede cuando los archivos externos se convierten en activos de Cave.

¿Qué se Puede Importar?

Cave puede importar varios tipos de contenido externo.

Tipo de Archivo Importado Se Convierte En
Imágenes (varios formatos) Activos de textura.
Audio OGG Activos de audio.
Fuentes TTF Activos de fuente.
Archivos .cavePkg Paquetes de activos de Cave importados.
Modelos 3D Mallas, materiales, texturas, esqueletos, animaciones y plantillas dependiendo del archivo.

Después de la importación, esos archivos se convierten en activos de Cave en el Explorador de Activos.

Eso significa que pueden ser utilizados en Escenas, Materiales, Entidades y Plantillas de Entidades, UI, Sistemas de Audio, Scripts, Lógica, ¡en todas partes! Los archivos importados ya no son archivos sueltos en el disco. Se convierten en contenido del proyecto que Cave puede referenciar, guardar, organizar y reutilizar.

Cave usa sus propios formatos

Al importar CUALQUIER archivo en Cave (imágenes, texturas, audios, modelos 3D, etc.), el activo es convertido al formato propietario y personalizado de Cave Engine. Esto es importante porque este formato interno es mucho más rápido de analizar y usar por el motor para ofrecer el mejor rendimiento posible a tu juego. Muchos optimizaciones internas y almacenamiento en caché se realizan automáticamente para asegurar que tus activos estén listos para la producción del juego.

> Todo esto es interno y no necesitas preocuparte por ello, pero es esencial que entiendas que este proceso ocurre y cómo te afecta (y por qué es bueno).

Si importas un archivo de imagen .png en Cave, no usará el archivo png real en tu juego final. Pasa por un proceso de conversión rápida tan pronto como lo sueltas en el motor, luego se utiliza el formato de Cave en su lugar. Lo mismo ocurre cuando importas un audio o un modelo 3D. Esa información es especialmente importante para los activos 3D también: Cave no utiliza formatos DCC en bruto como .fbx, .obj, .glb. Puede importarlos, pero se convierten al formato del motor.

La razón por la que esto sucede es porque, aunque esos formatos son populares, analizar algo así como un fbx o incluso un png en un juego es costoso y puede afectar el rendimiento. Así que Cave extrae todos los datos necesarios, como Mallas, Materiales, Animaciones, Texturas, luego los convierte y los almacena en el formato del motor.

Esto tiene tres implicaciones importantes:

  • Tu juego correrá más rápido y pesará menos en disco.
  • La importación de activos es destructiva: Cave no mantiene una referencia original de tu activo RAW, así que si realizaste un cambio externo en él, deberás importarlo nuevamente.
  • Algunas características pueden no estar disponibles: Mientras que algunos formatos de activos son compatibles, algunas características en este formato pueden no ser compatibles con Cave. En este caso, recibirás una notificación y el proceso de importación no incluirá esas en los activos finales.

Ahora que eres consciente del proceso de importación, aprendamos sobre él.


Importando Imágenes por Arrastre y Suelta

Puedes importar imágenes arrastrándolas al Explorador de Activos.

Cave admite la mayoría de los formatos de imagen comunes como:

  • PNG.
  • JPG y JPEG.
  • TGA.
  • BMP.
  • HDR.
  • PSD.
  • PNM.
  • GIF.
  • PIC.
  • DDS.

Las imágenes importadas se convierten en Activos de Textura y pueden ser utilizadas por materiales, elementos de UI, ajustes de cielo y otros sistemas que necesitan datos de imagen. Por ejemplo, una textura podría convertirse en el mapa de color de un material de roca, un ícono en la UI o una imagen de cielo para una escena.

Para una primera prueba, mantenlo simple: importa una textura, asígnala a un material, coloca ese material en una malla que esté en la Escena y verifica el resultado en la Vista 3D.

Importando Archivos de Audio

El audio también se puede importar arrastrándolo al proyecto. Actualmente, Cave importa archivos de audio OGG. Si tienes audio en otro formato, conviértelo a OGG antes de importar. Puedes encontrar herramientas en línea para esta conversión, pero también recomendamos el software Audacity, que es gratuito y extremadamente fácil de entender y guardar el audio en ogg.

Un archivo OGG es un formato de contenedor multimedia gratuito y de código abierto desarrollado por la Fundación Xiph.Org. Se utiliza principalmente para transmitir y almacenar audio digital de alta calidad, a menudo logrando una mejor calidad de sonido con tamaños de archivo más pequeños que los MP3 tradicionales. ref

El audio importado se convierte en un activo de audio que se puede usar en cualquier parte del motor, por ejemplo, a través de Componentes de Reproductores de Audio, bloques lógicos o llamados a través de código Python. Ejemplo:

cave.playSound("Mi Archivo de Audio")

Buenas primeras importaciones de audio son cortas y fáciles de probar:

  • Una recogida de moneda.
  • Un clic de botón.
  • Una puerta abriéndose.
  • Un bucle de ambiente sencillo.
  • Una música para la banda sonora de tu juego.

Importando Fuentes y Paquetes de Cave

Cave puede importar archivos de fuentes TTF. TTF (TrueType Font) es un formato de archivo de fuente desarrollado originalmente por Apple y más tarde adoptado por Microsoft, convirtiéndose en uno de los formatos estándar utilizados hoy en día para el renderizado de texto digital escalable.

Las fuentes se utilizan principalmente por el Componente de Elemento UI, lo que te permite crear HUD del juego, texto, menús, botones, subtítulos, créditos, interfaces de diálogo, etc. La elección de una fuente puede hacer una gran diferencia, incluso en un menú simple.

Importando Paquetes de Cave

Cave también puede importar archivos .cavePkg. Un paquete de Cave es un paquete de activos de Cave que se puede llevar a otro proyecto.

Si vas al Explorador de Activos y haces clic derecho en una carpeta o un archivo, podrás exportarlo como un paquete de Cave. Al exportar un paquete, podrás importarlo más tarde en otros proyectos. Esto es muy útil para compartir lógica común entre tus diferentes proyectos. Ten en cuenta que al exportar un paquete, solo se incluirá lo que esté dentro de la carpeta o activo donde hiciste clic derecho. Así que si quieres exportar, por ejemplo, un material que utiliza un conjunto de texturas, es importante juntar todo en una carpeta y luego exportar la carpeta. De lo contrario, si solo importas el material, las texturas no estarán incluidas.

Cuando arrastras y sueltas un paquete de Cave en el Explorador de Activos de CaveEngine, se importará y la estructura de archivo original exportada se recreará en tu proyecto existente. Muy útil, nuevamente, para compartir activos reutilizables, llevar contenido predeterminado a un nuevo proyecto, o mover piezas de proyecto entre diferentes proyectos.


Importando Modelos 3D

Ahora hemos llegado a una de las partes más importantes de un motor de juego 3D, que es importar modelos 3D. Cave utiliza assimp para soportar la importación de una amplia gama de formatos de modelos 3D a través de su importador de modelos.

Soporta múltiples formatos de modelos a través del importador, pero FBX es el formato recomendado principal para Cave.

Las importaciones de modelos pueden generar varios tipos de activos a la vez:

  • Mallas.
  • Materiales.
  • Texturas.
  • Esqueletos.
  • Animaciones.
  • Plantillas de Entidades.

El resultado exacto depende del archivo original.

Una caja simple puede generar solo una malla, un material, una textura y una plantilla. Un personaje animado puede generar mallas, un esqueleto, animaciones, materiales, texturas y una plantilla más compleja.

Importaciones Primeras Recomendadas

Para tus primeras pruebas de importación, usa activos simples y limpios. Paquetes de Activos Kenney (CC0) son una buena opción para principiantes porque suelen estar bien organizados, son ligeros y fáciles de entender. También puedes revisar Activos Quaternius (CC0) o navegar por FAB Asset Store.

Buenas primeras importaciones pueden ser una caja, una roca, un árbol de baja poligonación, un edificio simple o un personaje. Evita empezar con un gran paquete de personajes o un enorme archivo de entorno. Los activos simples hacen que sea más fácil entender qué crea Cave, qué configuraciones importan y cómo aparece el contenido importado en el Explorador de Activos. Después puedes pasar a configuraciones más complejas.

Importando un Modelo Paso a Paso

Al arrastrar y soltar un activo (como FBX) en el Explorador de Activos de Cave, verás una ventana como esta:

image.png

Soporta arrastrar y soltar múltiples archivos a la vez, y se creará una pestaña por archivo. Para cada pestaña, podrás seleccionar los activos que deseas importar. Esto también te mostrará qué tipos de activos, y si expandes el encabezado de cada tipo de activo, qué activos fueron reconocidos y convertidos por el Importador de Cave. También te permitirá seleccionar individualmente qué deseas importar o no, y renombrar los archivos en consecuencia. También puedes cambiar los nombres de los activos importados más adelante.

En la parte superior, antes de cada pestaña de archivo, encontrarás dos opciones globales (por importación de activo):

  • Configuraciones, que te permiten seleccionar si deseas crear una subcarpeta para el activo importado o no, o si deseas generar física automáticamente en la plantilla de entidad que será generada por el motor.
  • También están las opciones de Filtros, que son útiles cuando importas docenas de activos y nodos, y solo te interesa una cosa específica en el archivo, como la malla.

Una importación de modelo básica generalmente se ve así:

  1. Crea o elige una carpeta en el Navegador de Activos.
  2. Arrastra el archivo del modelo a esa carpeta.
  3. Espera a que Cave procese el archivo.
  4. Revisa las opciones de importación.
  5. Elige qué activos generados deben ser importados.
  6. Ajusta la escala de importación si es necesario.
  7. Confirma la importación.
  8. Inspecciona los activos generados en el Navegador de Activos.

Las opciones de importación pueden mostrar los activos generados agrupados por tipo.

Esto te permite decidir qué debe ser importado en lugar de aceptar ciegamente todo. Eso es útil porque los archivos de modelo pueden contener más datos de los que realmente necesitas.

CONSEJO IMPORTANTE:

Si estás descargando cientos de activos o un paquete de activos, como el paquete de activos de Kenney o Quaternius, notarás que esos paquetes generalmente tendrán un archivo FBX diferente por objeto, y dentro de cada archivo FBX, hay una copia del material y a veces incluso la textura que se usará en todos esos activos.

Si arrastras y sueltas todos esos activos que contienen una copia del mismo material en cada archivo, Cave importará, como era de esperar, todas las copias, generando un montón de datos innecesarios en tu proyecto y, eventualmente, haciendo que el rendimiento de tu juego sea ineficiente. Eso no es un error del motor, simplemente es porque hay una copia de los materiales en cada archivo FBX.

La mejor práctica en este caso es primero importar un solo archivo FBX en el motor, ver qué hay dentro de este archivo, confirmar el material en él. Una vez que este primer archivo esté importado y el material esté en tu proyecto, importas todos los demás, utilizando los filtros para desactivar la importación de materiales y texturas, ya que ya fue importado por el motor para tu primer archivo. Luego, cuando presiones importar, Cave intentará localizar este material ya importado por nombre y usarlo en su lugar.

Comprendiendo las Mallas Importadas

Un modelo importado puede generar una malla o muchas mallas. Esto depende de cómo se construyó el modelo en la herramienta DCC original.

Por ejemplo:

Modelo Fuente Posible Resultado de Importación
Caja simple Una malla, un Material, una Plantilla de Entidad.
Objeto con partes separadas Múltiples mallas y Materiales, una Plantilla de Entidad.
Personaje animado Mallas, Armadura y animaciones, una Plantilla de Entidad.

Después de la importación, inspecciona los activos de malla generados y la Plantilla de Entidad generada.

Nota que para cada importación, se generará una plantilla de entidad.

La plantilla de entidad intenta replicar las configuraciones de escena construidas por ti en tu herramienta DCC, como Blender. Así que si creaste un diseño en tu software de modelado, colocando objetos en ciertos lugares, etc., estará allí como una plantilla de entidad. Usualmente no usarás la plantilla de entidad sin procesar, pero es útil para que coloques los objetos en tu escena para identificarlos rápidamente o para hacerlos locales en lugar de usar una plantilla y comenzar a editar en Cave.

Una vez que importes tu activo, verifica problemas comunes:

  • ¿Es el objeto demasiado pequeño?
  • ¿Es demasiado grande?
  • ¿Está mal rotado?
  • ¿Se dividió de una manera inesperada?
  • ¿La plantilla generada se ve correcta?

Es mejor detectar estos problemas de inmediato en lugar de después de haber utilizado el activo en un nivel.

Si encuentras algún problema con los activos que importas, vale la pena abrirlos en Blender o en cualquier DCC que desees para ver si son correctos. También te recomendamos que triangules las mallas de los activos antes de importarlos en Cave.

IMPORTANTE: Cuando importas un modelo 3D en Cave, intenta automáticamente triangular las caras. Pero a veces, puede tener errores de triangulación, causando que tu modelo 3D tenga "agujeros" o caras mal creadas. Para evitar esto, siempre recomendamos que vayas a tu herramienta de modelado DCC y triangules las caras tú mismo.


Comprendiendo Materiales y Texturas

Los modelos importados también pueden generar materiales y texturas.

Un material controla cómo se ve una superficie. Una textura proporciona datos de imagen utilizados por el material.

Después de importar, siempre revisa el material:

  • ¿Se asignó la textura de albedo?
  • ¿Se asignaron correctamente los mapas normales?
  • ¿Se importaron mapas de rugosidad o metálicos?
  • ¿El material se ve correcto en la vista previa?

Las importaciones son útiles, pero no son magia.

Es normal ajustar los materiales después de importarlos. Por ejemplo, puede que necesites ajustar la rugosidad, corregir una textura faltante o elegir una mejor configuración de material para el estilo visual de tu juego.

Mallas Multimateriales

En Cave, una malla usa un material. Si un objeto en tu herramienta DCC usa múltiples materiales, Cave lo representa como múltiples mallas.

Una entidad puede seguir teniendo múltiples Componentes de Malla, por lo que el objeto final puede verse igual en la escena. La estructura es solo diferente:

Objeto con Múltiples Materiales
  Componente de Malla usando Material A
  Componente de Malla usando Material B
  Componente de Malla usando Material C

Esto le da a Cave una relación limpia de una-malla-a-un-material, mientras que aún permite que objetos complejos importados se vean correctamente.

Debido a cómo funciona Cave, si importas una malla multimaterial en tu proyecto, notarás que en el navegador de activos, la malla se dividirá en diferentes partes. Pero Cave intentará recrear la entidad final en la Plantilla de Entidad por ti con todas las mallas combinadas.

Plantilla de Entidad Importada

Al importar un modelo, Cave creará una Plantilla de Entidad que representa la configuración original. Esta plantilla es útil porque preserva la composición prevista tanto como sea posible.

Por ejemplo, un edificio importado podría generar:

  • Varios activos de malla.
  • Varios activos de material.
  • Activos de textura.
  • Una Plantilla de Entidad que une las partes.

Esa plantilla es usualmente el activo más fácil de arrastrar a la escena.

Si el objeto importado se ve correcto como plantilla, puedes reutilizarlo como cualquier otra plantilla de Cave. El objetivo es llevar esos activos a las escenas y convertirlos en espacios jugables.

Consejos Básicos de Importación

Mantén las importaciones limpias:

  • Prefiere FBX para modelos.
  • Triangula las caras antes.
  • Usa OGG para audio.
  • Mantén los nombres de los activos legibles.
  • Prefiere nombres con espacios o PascalCase.
  • Importa en carpetas organizadas.
  • Verifica la escala de importación.
  • Inspecciona los materiales generados.
  • Prueba la plantilla importada en la vista previa.
  • Guarda después de importar.

Importar es una parte normal del desarrollo.

Hazlo en pequeños pasos, inspecciona el resultado, luego sigue construyendo. Un flujo de trabajo de importación limpio te ahorrará mucho tiempo una vez que tu proyecto comience a usar más contenido personalizado.