Les cibles de morphose offrent un moyen de déformer un maillage de sa forme de base vers une forme cible.
Généralement, elles sont utilisées avec des maillages squelettiques dans le cadre du système d'animation ; cependant,
grâce au maxscript StaticMeshMorpher.ms
et à la
fonction de matériau StaticMeshMorphTarget,
il est également possible de configurer la déformation sur les maillages statiques à l'aide de cibles de morphose.
Cette méthode effectue la déformation en utilisant plusieurs canaux UV, les colorisations des vertex et le décalage de la position dans le monde. Les décalages des vertex pour chaque cible de morphose sont stockés sous forme de colorisations de vertex dans un canal UV. La fonction de matériau StaticMeshMorphTarget les extrait ensuite et les rend disponibles dans le matériau. En les transmettant à l'entrée WorldPositionOffset du matériau, il est possible de transformer les vertex du maillage en positions de vertex dans la cible de morphose.
Configurer et installer le script
Le maxscript StaticMeshMorpher.ms
se trouve dans votre build dans UE4/Engine/Extras/FX_tools/3DSMax2012_x64/
.
Pour exécuter le maxscript** StaticMeshMorpher.ms
:
-
Dans le menu MAXScript de 3dsMax, choisissez Exécuter le script….
-
Accédez à l'emplacement du maxscript
StaticMeshMorpher.ms
dans votre build et ouvrez-le. -
L'interface du script s'affiche et le script est prêt à être utilisé.
Il est aussi possible de lier le script à une combinaison de touches ou de l'ajouter à un menu personnalisé pour rendre son exécution plus rapide et plus facile.
Créer des cibles de morphose
Les cibles de morphose nécessitent plusieurs instances du même maillage avec leurs vertex transformés. Par exemple, une boule de glace en train de fondre peut avoir trois formes :
![]() |
![]() |
![]() |
---|---|---|
Modèle de jeu | Cible de morphose 1 | Cible de morphose 2 |
Les cibles de morphose sont empaquetées dans les canaux UV 2 et 3 (en supposant que deux cibles de morphose soient empaquetées), et les normales pour la cible de morphose 1 peuvent également être stockées dans les colorisations des vertex du maillage si vous le souhaitez.
Pour empaqueter les cibles de morphose :
-
Appuyez sur le bouton
, puis sélectionnez le maillage du modèle de jeu dans la scène.
-
Appuyez sur le bouton
, puis sélectionnez le maillage pour la première cible de morphose dans la scène.
-
Répétez le processus ci-dessus pour la deuxième cible de morphose dans la scène, s'il en existe une.
-
Cochez la case Stocker les normales de morphose 1 si vous le souhaitez.
-
Appuyez sur le bouton
pour commencer le processus d'empaquetage des cibles de morphose dans les canaux UV.
-
Vous pouvez exporter le maillage depuis 3dsMax et l'importer normalement dans Unreal. Consultez la rubrique Pipeline de maillages statiques FBX pour en savoir plus sur ce processus.
Configuration du matériau
La fonction StaticMeshMorphTargets permet d'accéder aux cibles de morphose et aux normales à l'intérieur du matériau appliqué au maillage statique. Cette fonction possède deux sorties correspondant aux deux cibles de morphose et une sortie correspondant aux normales. Les sorties de la cible de morphose fournissent des valeurs qui peuvent être connectées au canal d'entrée WorldPositionOffset du nœud Material, tandis que la sortie de normale, comme on pourrait s'y attendre, peut être connectée au canal d'entrée normale du nœud Material.
Afin de permettre la morphose entre le maillage de base et les cibles de morphose, une ou plusieurs expressions LinearInterpolate sont utilisées avec un seul paramètre scalaire pilotant l'entrée Alpha. Cela permet de piloter les cibles de morphose au moment de l'exécution via le code de jeu ou Matinee.
Un exemple de configuration (uniquement le réseau de morphose) est présenté ici :

Le résultat lorsque le paramètre Time dans le réseau ci-dessus passe de 0 à 1 est présenté ci-dessous :
