La compatibilidad de mallas estáticas en la canalización de importación FBX hace que importar mallas de aplicaciones en 3D a Unreal Engine 5 sea una tarea sencilla y sin complicaciones. Cuando se importan mallas, las texturas usadas en los materiales aplicados a esas mallas en sus respectivas aplicaciones en 3D (mapa de normales únicamente) también se importan y, a su vez, se usan para generar los materiales aplicados a la malla en UE5.
Funciones compatibles con la importación de mallas estáticas mediante FBX:
- Mallas estáticas con materiales que incluyen texturas
- Colisión personalizada
- Múltiples conjuntos de UV
- Grupos de suavizado
- Colores de vértices
- LOD
- Varias mallas estáticas independientes (también se pueden combinar en una sola malla al importar)
Actualmente, al importar varias mallas con colisión personalizada en un mismo archivo, solo se importa la colisión de la primera malla.
La canalización de importación FBX de Unreal Engine usa FBX 2020.2. El uso de una versión diferente durante la exportación puede provocar incompatibilidades.
Configuración general
Por lo general, puedes crear mallas estáticas con las herramientas y los métodos que quieras. Existen algunas estipulaciones en cuanto al ajuste de los UV, la colocación de la malla, etc. que hay que tener en cuenta para exportar e importar sin problemas y para que la malla funcione correctamente en Unreal Editor.
Punto de traslación
El punto de traslación de la malla en Unreal Engine determina el punto alrededor del cual se producirán las transformaciones (traslación, rotación, escala).
Haz clic en la imagen para verla a tamaño completo.
El punto de traslación siempre se encuentra en el origen (0,0,0) cuando se exporta desde una aplicación de modelado 3D. Por ello, es mejor crear las mallas en el origen. El origen suele estar situado en una esquina de la malla para permitir una alineación adecuada al acoplarse a la cuadrícula dentro de Unreal Editor.
Haz clic en la imagen para verla a tamaño completo.
Triangulación
En Unreal Engine, las mallas deben estar trianguladas, ya que el hardware de gráficos solo trabaja con triángulos.
Haz clic en la imagen para verla a tamaño completo.
Hay varias formas de garantizar de que la malla esté triangulada.
- Modelar la malla solo con triángulos: la mejor solución, ya que proporciona el mayor control sobre el resultado final.
- Triangular la malla en la aplicación en 3D: buena solución, permite realizar limpieza y modificaciones antes de exportar.
- Permitir que el exportador de FBX triangule la malla: solución aceptable. No permite limpieza, pero puede funcionar con mallas sencillas.
- Permitir que el importador triangule la malla: solución adecuada. No permite limpieza, pero puede funcionar con mallas sencillas.
Lo mejor siempre es triangular manualmente la malla en la aplicaciones en 3D, controlando la dirección y la ubicación de los bordes. La triangulación automática puede producir resultados no deseados.
Haz clic en la imagen para verla a tamaño completo.
Coordenadas de textura de UV
La importación de múltiples conjuntos de UV es compatible con la canalización FBX de Unreal Engine 5. En el caso de las mallas estáticas, suele usarse para controlar un conjunto de UV para la difusión. No existen requisitos especiales a la hora de ajustar los UV para mallas estáticas con la canalización FBX.
Creación de mapas de normales
Puedes crear mapas de normales para tus mallas directamente en la mayoría de las aplicaciones de modelado creando tanto una malla renderizada de baja resolución como una malla de detalle de alta resolución.
Haz clic en la imagen para verla a tamaño completo.
La geometría de la malla de detalle de alta resolución se usa para generar las normales del mapa de normales. Epic usa un proceso de trabajo interno que introduce XNormal en el proceso y, por lo general, genera normales mucho mejores al renderizar en Unreal Engine 5. Para obtener más información sobre este proceso, consulta Texturas.
Materiales
Los materiales aplicados a las mallas modeladas en aplicaciones externas se exportarán junto con la malla y luego se importarán a Unreal Engine. Esto agiliza el proceso, ya que no es necesario importar texturas por separado en Unreal Engine, crear y aplicar materiales, etc. El proceso de importación es capaz de realizar todas estas acciones al usar la canalización FBX.
Estos materiales también se tienen que configurar de una manera específica, sobre todo cuando la malla tiene varios materiales o el orden de los materiales en la malla es importante (p. ej., para modelos de personaje en los que el material 0 debe ser el cuerpo y el material 1 la cabeza).
Para obtener más información sobre la configuración de materiales para la exportación, consulta la página Canalización de materiales FBX.
Colisión
La geometría de colisión simplificada es importante para optimizar la detección de colisiones en el juego. Unreal Engine 5 proporciona las herramientas básicas para crear geometría de colisión dentro del editor de mallas estáticas. No obstante, en algunos casos se soluciona mejor creando una geometría de colisión personalizada en tu aplicación de modelado 3D y exportándola con la malla de renderizado. Por lo general, esto se aplica a cualquier malla con una abertura o un área cóncava con la que los objetos no necesiten colisionar.
Por ejemplo:
- Mallas de puerta
- Paredes con huecos para ventanas
- Mallas con formas extrañas
El importador identifica las mallas de colisión en función de su nombre. La sintaxis de nomenclatura de la colisión debería ser la siguiente:
| Prefijo y nombre de la malla | Descripción |
|---|---|
| UBX_[RenderMeshName]_## | Se debe crear una caja con un objeto 3D rectangular normal. No puedes mover los vértices ni deformarla para que no sea un prisma rectangular, o no funcionará. |
| UCP_[RenderMeshName]_## | Una cápsula debe ser un objeto cilíndrico con dos hemisferios en la parte superior. No necesita tener muchos segmentos (8 es un buen número) porque se convierte en una verdadera cápsula para colisión. Al igual que las cajas, no debes mover los vértices individuales. |
| USP_[RenderMeshName]_## | Una esfera no necesita tener muchos segmentos (8 es un buen número), ya que se convierte en una verdadera esfera para colisión. Al igual que las cajas, no debes mover los vértices individuales. |
| UCX_[RenderMeshName]_## | Un objeto convexo puede ser cualquier forma 3D convexa completamente cerrada. Por ejemplo, una caja puede ser un objeto convexo. El siguiente diagrama ilustra lo que es convexo y lo que no lo es:
|
Advertencias y consideraciones
-
RenderMeshNamedebe ser idéntico al nombre de la malla de renderización a la que está asociada la malla de colisión en la aplicación en 3D. Por lo tanto, si tienes una malla de renderización llamadaTree_01en tu aplicación en 3D, la malla de colisión debería estar en la escena con esa malla y llamarseUCX_Tree_01, y luego exportarse junto con la malla de renderización al mismo archivo FBX. Si necesitas más de un objeto de colisión para una malla, puedes ampliar sus nombres con más identificadores, comoUCX_Tree_01_00,UCX_Tree_01_01,UCX_Tree_01_02, etc. y todos se asociarán como colisión para esa malla. -
Actualmente, las esferas solo se usan para la colisión de cuerpos rígidos y los trazados de extensión cero de Unreal (p. ej., armas), no los trazados de extensión distintos de cero (p. ej., movimiento del jugador). Además, las esferas y las cajas no funcionan si la malla estática no se ha escalado de manera uniforme. En general, es probable que quieras crear elementos primarios UCX.
-
Una vez configurados los objetos de colisión, puedes exportar tanto la malla de colisión como la de renderización en el mismo archivo .FBX. Al importar el archivo .FBX en Unreal Editor, este buscará la malla de colisión, la eliminará de la malla de renderización y la convertirá en el modelo de colisión.
-
Descomponer una malla no convexa en mallas primarias convexas es una operación compleja y puede dar resultados impredecibles. Otro enfoque consiste en dividir el modelo de colisión en partes convexas en Max o en Maya.
-
En el caso de un objeto cuya colisión viene definida por múltiples envolventes convexas, los mejores resultados se obtienen cuando las envolventes no intersecan entre sí. Por ejemplo, si la colisión de una piruleta estuviera definida por dos carcasas convexas, una para el caramelo y otra para el palito, debería dejarse un espacio entre ambas, tal y como se muestra en la siguiente ilustración:
Haz clic en la imagen para verla a tamaño completo.
- UCX_Caramelo
- Pequeño espacio entre las superficies de colisión
- UCX_Palito
Acoples
Los acoples suelen usarse en los juegos para vincular un objeto a otro objeto, ya sea para una malla esquelética o estática. Unreal Engine 4 proporciona herramientas para crear acoples dentro del editor de mallas estáticas. A veces puede ser necesario configurarlos en tu aplicación de modelado 3D y exportarlos con tu malla de renderización. Estos acoples cavidades se pueden trasladar, girar y escalar en relación con el hueso de una malla esquelética o del de tamaño de la malla estática.
Para usar un acople en tu aplicación de modelado, necesitarás un objeto auxiliar o ficticio con el prefijo SOCKET_.
| Prefijo y nombre de la malla | Descripción |
|---|---|
| SOCKET_[NombreMallaRenderización]_## | Usa esto en cualquier objeto auxiliar o ficticio de tu aplicación de modelado para asignar un acople a tu malla. |
Advertencias y consideraciones
-
NombreMallaRenderizacióndebe ser idéntico al nombre de la malla de renderización a la que está asociado el objeto de acople en la aplicación en 3D. Si tienes un una malla de renderización llamadaObjeto_01en tu aplicación en 3D, tu objeto de acople debería estar en la escena con esa malla y llamarse SOCKET_Objeco_01, y luego exportarse junto con con la malla de renderización en el mismo archivo FBX. Si necesitas más de un objeto de acople para una malla, puedes ampliar sus nombres con más identificadores, como: SOCKET_Objeto_01_00, SOCKET_Objeto_01_01, SOCKET_Objeto_01_02, etc. y todos ellos se asociarán como acoples para esa malla. -
A la hora de crear acoples para la malla, solo puedes tener un FBX de malla única con acoples que se puedan importar a Unreal Engine 5. Por ejemplo, si tienes dos mallas de renderización que quieres que sean independientes, los recursos deberán importarse como archivos FBX independientes. Esto significa que no puedes importar varias mallas y asignar los acoples a cada malla por separado y que, si tienes dos conjuntos de mallas de renderización con sus propios acoples, no se importarán correctamente. Por ejemplo, si tengo Objeto_01 con SOCKET_Objeto_01_00 y otra malla de renderización Caja_01 con SOCKET_Caja_01_0, no puedo exportar ambas mallas con sus acoples a la vez. Habría que exportarlas como archivos FBX independientes.
Colores de vértices
Los colores de los vértices de las mallas estáticas se pueden transferir mediante la canalización FBX. No es necesaria ninguna configuración especial
Haz clic en la imagen para verla a tamaño completo.
Exportación de mallas
Se pueden exportar mallas estáticas de forma individual o varias mallas a un único archivo FBX. La canalización de importación separará varias mallas estáticas en distintos recursos dentro del paquete de destino, a menos que se especifique combinar las mallas activando el ajuste Combinar mallas en el momento de la importación. Consulta la documentación sobre cómo exportar archivos FBX de la herramienta de DCC de terceros que prefieras. No olvides seguir las directrices que hemos explicado antes a la hora de crear tus mallas.
La canalización de importación FBX de Unreal Engine usa FBX 2020.2. El uso de una versión diferente durante la exportación puede provocar incompatibilidades.
Importación de mallas
-
Haz clic en el botón Añadir/Importar del explorador de contenido y selecciona Importar. Busca y selecciona el archivo FBX que quieras importar en el explorador de archivos que se abre.
Te recomendamos que selecciones la
en el desplegable para filtrar los archivos que no quieras ver.Haz clic en la imagen para verla a tamaño completo.
La ruta del recurso importado depende de la posición actual dentro del explorador de contenido. Asegúrate de dirigirte a la carpeta adecuada antes de realizar la importación. También puedes arrastrar los recursos importados a una nueva carpeta una vez finalizada la importación.
-
Elige los ajustes apropiados en el cuadro de diálogo Importar. Los valores predeterminados deberían ser suficientes en la mayoría de los casos. Consulta la sección Cuadro de diálogo Importación de FBX para obtener información detallada sobre todos los ajustes.
Haz clic en la imagen para verla a tamaño completo.
-
Haz clic en el botón Importar para importar las mallas. La malla, los materiales y las texturas resultantes se mostrarán en el explorador de contenido si el proceso se ha realizado correctamente.
Haz clic en la imagen para verla a tamaño completo.
Aunque las texturas y los materiales se pueden importar con una malla estática, solo se conectarán automáticamente Color y Normal (asumiendo que se haya usado un material compatible), los mapas especulares se importarán pero no se conectarán, otros mapas (por ejemplo, un mapa de oclusión ambiental en la ranura difusión de un material de Maya) ni siquiera se importarán; lo mejor es comprobar tus materiales, conectar cualquier mapa no conectado y comprobar qué mapas no se han importado. Solo tienes que hacer doble clic en el nuevo material y conectar las texturas disponibles con sus entradas apropiadas.
Al ver la malla importada en el editor de mallas estáticas y al activar la visualización de colisión, puedes determinar si el proceso funcionó como se esperaba.
Haz clic en la imagen para verla a tamaño completo.
También puedes hacer clic y arrastrar un archivo FBX desde Windows hasta el explorador de contenido y aparecerá el cuadro de diálogo de importación.
LOD de mallas estáticas
Las mallas estáticas pueden usar niveles de detalle (LOD) en el juego para limitar el impacto de las mallas a medida que se alejan de la cámara. Por lo general, esto significa que cada nivel de detalle tendrá un número reducido de triángulos y, quizás, un material (o materiales) más simple aplicado.
Haz clic en la imagen para verla a tamaño completo.
La canalización FBX se puede usar para importar mallas de LOD creadas con herramientas de DCC, o se pueden crear LOD para mallas estáticas importadas directamente dentro de UE.
Configuración de LOD
En general, los LOD se gestionan mediante la creación de modelos de diversa complejidad, desde la malla base con todo el detalle hasta la malla de LOD con el menor nivel de detalle. Todos deberían estar alineados y ocupar el mismo espacio con el mismo punto de traslación. Cada malla de LOD puede tener asignados materiales completamente diferentes, incluidas distintas cantidades de materiales. Esto significa que la malla base podría usar varios materiales para dar la cantidad deseada de detalle de cerca, pero las mallas con menos detalles podrían usar un solo material, ya que los detalles se notarían menos.
Cada herramienta de DCC tendrá su propio proceso de trabajo para crear LOD para mallas estáticas, así que consulta la documentación de la herramienta que elijas para obtener información específica sobre cómo crearlas e incluirlas en tus exportaciones FBX.
Importación de LOD
Los LOD de mallas estáticas se pueden importar junto con la malla base en el explorador de contenido o individualmente a través del editor de mallas estáticas.
-
Haz clic en el botón Añadir/Importar del explorador de contenido y selecciona Importar. Busca y selecciona el archivo FBX que quieras importar en el explorador de archivos que se abre.
Te recomendamos que selecciones la
en el desplegable para filtrar los archivos que no quieras ver.La ruta del recurso importado depende de la posición actual dentro del explorador de contenido. Asegúrate de dirigirte a la carpeta adecuada antes de realizar la importación. También puedes arrastrar los recursos importados a una nueva carpeta una vez finalizada la importación.
-
Elige los ajustes apropiados en el cuadro de diálogo Importar. Con los valores por defecto debería bastar, pero asegúrate también de que la opción Importar LOD está activada. Nota: al importar LOD, el nombre de la malla importada seguirá las reglas de nomenclatura predeterminadas. Consulta la sección Cuadro de diálogo Importación de FBX para obtener información detallada sobre todos los ajustes.
Haz clic en la imagen para verla a tamaño completo.
-
Haz clic en el botón Importar para importar la malla y los niveles de detalle. La malla, los materiales y las texturas resultantes se mostrarán en el explorador de contenido si el proceso se ha realizado correctamente.
Haz clic en la imagen para verla a tamaño completo.
Aunque las texturas y los materiales se pueden importar con una malla estática, solo se conectarán automáticamente Color y Normal (asumiendo que se haya usado un material compatible), los mapas especulares se importarán pero no se conectarán, otros mapas (por ejemplo, un mapa de oclusión ambiental en la ranura difusión de un material de Maya) ni siquiera se importarán; lo mejor es comprobar tus materiales, conectar cualquier mapa no conectado y comprobar qué mapas no se han importado. Solo tienes que hacer doble clic en el nuevo material y conectar las texturas disponibles con sus entradas apropiadas.
Al ver la malla importada en el editor de mallas estáticas, puedes alternar entre los LOD con el Selector de LOD del panel Detalles.
Haz clic en la imagen para verla a tamaño completo.
Cómo crear LOD para mallas estáticas importadas
Una vez importada una malla estática, puedes crear LOD manualmente, que tarda más pero produce los mejores resultados (especialmente en mallas complejas), o puedes usar la herramienta de autogeneración de LOD de UE, que es más rápida cuando necesitas generar LOD para varias mallas sencillas.