Lumberyard
Guía del usuario (Version 1.18)

Exportación de un recurso PxMesh

Si desea utilizar un colisionador de malla para el componente PhysX Collider, necesita un archivo .pxmesh para definir la geometría de colisión de la entidad. Puede crear este archivo a partir de un archivo FBX con al menos una malla. El sistema PhysX de Lumberyard puede exportar una malla como una malla triangular o una malla convexa. El valor predeterminado se establece en malla triangular, que solo puede usar en objetos estáticos.

nota

Las entidades dinámicas solo puede utilizar mallas convexas. Los objetos estáticos pueden utilizar mallas convexas y triangulares. Al exportar una malla, la malla triangular es el valor predeterminado.

El siguiente procedimiento le muestra cómo exportar su malla con diversos valores de configuración.

Para exportar un archivo.pxmesh

  1. En su sistema de archivos, busque el archivo FBX con la malla que desee exportar. Los artistas suelen crear estos archivos FBX con herramientas de DCC.

    
                    Archivo FBX en el sistema operativo
  2. Coloque el archivo FBX en el directorio de activos de su proyecto como por ejemplo lumberyard_version\dev\StarterGame\Objects. Si Lumberyard Editor no está abierto, láncelo.

    Asset Processor detecta automáticamente y procesa el archivo FBX.

  3. En el Asset Browser, vaya al archivo FBX, haga clic con el botón derecho y, a continuación, elija Edit Settings (Editar configuración) para abrir la herramienta Configuración de FBX.

    
                    Haga clic con el botón derecho del ratón en el archivo FBX y elija Edit Settings (Editar configuración)
  4. En la herramienta Configuración de FBX, configure los parámetros de exportación de malla de PhysX:

    1. Haga clic en la pestaña PhysX.

    2. Si este archivo .pxmesh es para una entidad dinámica, debe seleccionar Export Mesh As Convex (Exportar malla como convexa). Si el archivo es estático, este parámetro es opcional.

      nota

      Cuando está habilitado, este parámetro exporta la malla como malla convexa. De lo contrario, la malla se exporta como malla triangular.

    3. En el cuadro Select meshes (Seleccionar mallas) seleccione al menos una malla.

    4. Si no se ha seleccionado ninguna malla, haga clic en Select meshes (Seleccionar mallas).

    5. Seleccione una o varias mallas (5) y haga clic en Select (Seleccionar).

      
                            Editar parámetros en la herramienta Configuración de FBX para exportar una malla como archivo .pxmesh
  5. Haga clic en Update (Actualizar).

  6. Una vez que el Asset Processor termine de procesar la malla actualizada, haga clic en OK (Aceptar).

  7. Cierre la herramienta Configuración de FBX.

    Para obtener más información acerca de los parámetros en esta ventana, consulte Parámetros de exportación de PxMesh.

  8. En el Asset Browser, puede verificar que aparece PhysX Collision Mesh (archivo .pxmesh).

    
                    Editar parámetros en el Configuración de FBX para exportar una malla como archivo.pxmesh

Exportación automática de PxMesh para objetos estáticos

También puede establecer un nodo de malla en un archivo FBX que se va a exportar de forma automática como malla triangular de PhysX para objetos de PhysX estáticos. Para ello, anexe _phys al final de un nombre de nodo de malla. A continuación, al colocar el archivo FBX en el directorio de recursos de su proyecto, el crea automáticamente el archivo Asset Processor con una malla triangular. El archivo .pxmesh o PhysX Collision Mesh (Malla de colisión de PhysX) aparece en el Asset Browser sin medidas adicionales.

nota

Si desea exportar una malla convexa para usarla con una entidad de PhysX dinámica, debe hacerlo de forma manual mediante la herramienta Configuración de FBX. Consulte Export Mesh As Convex (Exportar malla como convexa).

Parámetros de exportación de PxMesh

Al exportar un archivo .pxmesh desde un nodo de malla a un archivo FBX, utiliza la herramienta Configuración de FBX. Puede exportar su archivo .pxmesh como una malla triangular o convexa.

importante

Use los parámetros de exportación de malla de PhysX para configurar y afinar la salida que genera la preparación de PhysX posteriormente en su juego.

Parámetros compartidos

Parámetro Descripción
Name PhysX Mesh (Nombre de malla de PhysX) Escriba un nombre para la malla de PhysX. Este nombre aparece en el Asset Browser. Puede especificar hasta 40 caracteres para el nombre.
Export Mesh As Convex (Exportar malla como convexa)

Establece el proceso de cocción para crear esta malla como convexa, lo que hace que la malla esté disponible para objetos dinámicos.

Build GPU Data (Compilar datos de la GPU)

Si se establece, crea información adicional necesaria para la simulación de cuerpo rígido acelerada por GPU.

Esto puede aumentar el uso de la memoria y el tiempo de preparación de las mallas convexas y triangulares. Los cascos convexos se crean con respecto a las limitaciones de simulación de la GPU.

El límite de vértices se establece en 64 y el límite de vértices por cada cara se establece de forma interna en 32.

Select meshes (Seleccionar mallas)

Puede seleccionar las mallas que se van a incluir en el grupo de mallas.

Parámetros de malla triangular

Estos parámetros aparecen en la herramienta Configuración de FBX cuando no se establece el parámetro Export Mesh As Convex (Exportar malla como convexa).


                    Parámetros de exportación de malla triangular solo para objetos estáticos

Parámetro Descripción
Weld Vertices (Vértices de soldadura)

Si se establece, se realiza la soldadura de malla. Se necesita una malla limpia. El parámetro Disable Clean Mesh (Deshabilitar malla limpia) no debe estar seleccionado.

Disable Clean Mesh (Deshabilitar malla limpia) Si se establece, se deshabilita la limpieza de malla. Esto acelera la preparación. Si no se realiza la limpieza de malla, tampoco se realiza la soldadura de malla.
Force 32-Bit Indices (Forzar índices de 32 bits)

Si se establece, los índices de 32 bits siempre se crean independientemente del recuento de triángulos.

Suppress Triangle Mesh Remap Table (Suprimir tabla de reasignación de malla triangular)

Si se establece, no se crea la tabla de reasignación de cara. De este modo se ahorra una cantidad de memoria significativa, pero el SDK de PhysX no puede proporcionar la información de reasignación para los triángulos de malla internos devueltos por colisiones, barridos o impactos de raycasts.

Build Triangle Adjacencies (Crear adyacencias de triángulos)

Si se establece, se crea la información acerca de las adyacencias de triángulos. Puede obtener los triángulos de adyacencia para un triángulo especificado de getTriangle.

Mesh Weld Tolerance (Tolerancia de soldadura de malla)

Para establecer este parámetro debe habilitar el parámetro Weld Vertices (Vertices de soldadura).

Si se establece, este valor controla la distancia a la que se sueldan los vértices. De lo contrario, este valor define la distancia aceptable para la validación de malla.

Si ninguno de los dos vértices se encuentran a esta distancia, se considera que la malla está limpia. De lo contrario, se emite una advertencia. Idealmente, desea tener una malla soldada y limpia para lograr el mejor desempeño posible.

Como práctica recomendada, comience con un valor bajo. Si utiliza mallas personalizadas de una DCC, no habilite este parámetro.

Number of Triangles Per Leaf (Número de triángulos por hoja)

Sugerencia de preparación de malla para número máximo de triángulos por límite de hoja. Un menor número de triángulos por hoja produce mallas más grandes con mejor desempeño en el tiempo de ejecución, pero un menor desempeño de preparación. Más triángulos por hoja dan lugar a una mayor velocidad de preparación y unos tamaños de malla inferiores, pero con un menor desempeño en el tiempo de ejecución.

Parámetros de malla convexa

Estos parámetros aparecen en el Configuración de FBX al establecer el parámetro Export Mesh As Convex (Exportar malla como convexa).


                    Parámetros de exportación de malla convexa solo para objetos estáticos o dinámicos

Parámetros Descripción

Area Test Epsilon (Épsilon de prueba de área)

Si el área de un triángulo del casco está por debajo de este valor, se rechaza el triángulo. Esta prueba solo se realiza si se establece Check Zero Area Triangles (Comprobar triángulos llanos).
Plane Tolerance (Tolerancia de plano)

Este valor se usa durante la construcción del casco. Cuando se añade un nuevo punto al casco, queda descartado cuando el punto está más cerca del casco que el valor Plane Tolerance (Tolerancia de plano). El valor Plane Tolerance (Tolerancia de plano) se aumenta según el tamaño del casco.

Si se establece 0.0, se aceptan todos los puntos al crearse el casco convexo. Esto puede dar lugar a casos de límites donde es posible que los nuevos puntos se combinen en un polígono existente y la ecuación de plano de polígonos podría cambiar ligeramente. Esto puede dar lugar a errores durante la fase de combinación de polígonos en el cómputo del casco.

Le recomendamos el valor predeterminado. Sin embargo, si es necesario que todos los puntos se acepten o se crean convexos finos de gran tamaño, puede especificar un valor más bajo.

Use 16-bit Indices (Usar índices de 16 bits)

Si se establece, usa índices de vértice de 16 bits en PxConvexMeshDesc::triangles o PxConvexMeshDesc::polygons. De lo contrario, se usan índices de vértice de 32 bits.

Check Zero Area Triangles (Comprobar triángulos llanos)

Comprueba y quita triángulos que son casi llanos durante el cómputo del casco convexo. El tamaño del área rechazada se especifica en PxCookingParams::areaTestEpsilon.

Quantize Input (Cuantificar entrada)

Cuantifica los vértices de entrada mediante la agrupación en clústeres k-means.

Use Plane Shifting (Usar cambio de plano)

Habilita el algoritmo de límite de vértices de cambio de plano.

Para obtener más información, consulte la sección Geometry en la documentación de NVIDIA.

Shift Vertices (Cambiar vértices)

Los vértices de entrada del casco convexo se cambian para estar en torno al origen a fin de proporcionar una mejor estabilidad de cómputo. Se recomienda proporcionar vértices de entrada en torno al origen; de lo contrario, use este parámetro para mejorar la estabilidad numérica.

Gauss Map Limit (Límite de mapa de Gauss)

Límite de vértices por encima del cual se computan estructuras de aceleración adicionales para cada malla convexa. Aumente el límite para reducir el uso de la memoria. El cómputo de las estructuras adicionales no garantiza un desempeño óptimo. Hay un punto de equilibrio financiero por plataforma por debajo del cual las estructuras adicionales pueden realmente afectar al desempeño.