Los Morph Targets permiten deformar una malla desde su forma base a una forma objetivo.
Por lo general, se usan con mallas esqueléticas como parte del sistema de animación; sin embargo,
con el maxscript StaticMeshMorpher.ms y la
función de material StaticMeshMorphTarget,
las mallas estáticas también tienen la capacidad de configurarse para la deformación usando Morph Targets.
Este método realiza la deformación usando múltiples canales de UV, colores de vértice y WorldPositionOffset. Los desfases de los vértices para cada objetivo de deformación se almacenan como colores de vértice en un canal de UV. A continuación, la función de material StaticMeshMorphTarget los extrae y los pone a disposición dentro del material. Al pasarlas a la entrada WorldPositionOffset del material, los vértices de la malla se pueden transformar en las posiciones de los vértices en el Morph Target.
Configuración e instalación de la secuencia de comandos
El maxscript StaticMeshMorpher.ms se encuentra en tu compilación, en UE4/Engine/Extras/FX_tools/3DSMax2012_x64/.
Para ejecutar el maxscript StaticMeshMorpher.ms:**
-
En 3dsMax, en el menú MAXScript, selecciona Ejecutar secuencia de comandos....
-
Localiza el maxscript
StaticMeshMorpher.msen tu compilación y ábrelo. -
Se muestra la interfaz de la secuencia de comandos, lista para usarse.
La secuencia de comandos también puede vincularse a una combinación de teclas o añadirse a un menú personalizado para que su ejecución sea más rápida y sencilla.
Creación de Morph Targets
Los Morph Targets requieren varias instancias de la misma malla con sus vértices transformados. Por ejemplo, una bola de hielo derritiéndose podría adoptar tres formas:
![]() |
![]() |
![]() |
|---|---|---|
| Modelo del juego | Morph Target 1 | Morph Target 2 |
Los Morph Targets se empaquetan en los canales de UV 2 y 3 (suponiendo que se estén empaquetando dos Morph Targets) y las normales para el Morph Target 1 también se pueden almacenar en los colores de vértice de la malla si se desea.
Para empaquetar Morph Targets:
-
Pulsa el botón
y selecciona la malla del modelo del juego en la escena.
-
Pulsa el botón
y selecciona la malla para el primer Morph Target de la escena.
-
Repite el proceso anterior para el segundo Morph Target de la escena, si existe.
-
Si quieres, marca la casilla de verificación Guardar normales de Morph 1.
-
Pulsa el botón Empaquetar Morph Targets para iniciar el proceso de empaquetar los Morph Targets en los canales de UV.
-
La malla se puede exportar desde 3dsMax e importar a Unreal Engine sin problema. Consulta Canalización de mallas estáticas FBX para obtener más información sobre este proceso.
Configuración del material
La función StaticMeshMorphTargets proporciona acceso a los Morph Targets y las normales dentro del Material aplicado a StaticMesh. Esta función tiene dos salidas correspondientes a los dos Morph Targets y una salida para las normales. Las salidas de los Morph Targets proporcionan valores que se pueden conectar al canal de entrada WorldPositionOffset del nodo Material, mientras que la salida de las normales, como era de esperar, se puede conectar al canal de entrada Normal del nodo Material.
Para permitir el morphing entre la malla base y los Morph Targets, se usan una o más expresiones LinearInterpolate. con un solo ScalarParameter controlando la entrada alfa. Esto permite que los Morph Targets sean controlados en tiempo de ejecución por el código de jugabilidad o Matinee.
Aquí se muestra un ejemplo de configuración (solo la red de Morph Targets):
A continuación se muestra el resultado a medida que el parámetro Time en la red anterior va de 0 a 1:



