Sur cette page

Animation par morphing

Introduction

L'animation par morphing (également appelée animation par sommets) est une méthode permettant de simuler les déformations de matériaux souples. Elle permet de transformer une forme en une autre de manière fluide. Pour ce faire, on crée un maillage contenant plusieurs positions pour chaque sommet. Chaque ensemble supplémentaire de positions définit une forme, appelée « morph target ». Lors de l'animation, une « weight » est attribuée à chaque cible. La position effective de chaque sommet est calculée par interpolation linéaire entre les positions de cette cible, en fonction des poids.

Le morphing diffère de l’animation squelettique, où l’on crée un squelette imaginaire et où l’on « rigge » le modèle en définissant la relation entre chaque sommet du modèle et les nœuds de ce squelette.

Notez que la structure fondamentale de chaque cible de morphing doit être identique : si trois sommets forment un triangle dans le modèle de base, ils formeront un triangle dans toutes les cibles de morphing. Ce triangle peut avoir une position, une orientation et une taille complètement différentes ; il peut même être supprimé de fait en le transformant en triangle dégénéré de taille nulle.

Dans la plupart des cas, le maillage sera créé à l’aide d’un outil externe, puis importé via l’outil d’importation de ressources de Balsam. Par exemple, dans l’éditeur 3D Blender, les cibles de morphing sont appelées « shape keys », tandis que dans Autodesk Maya, on les appelle « blend shapes ».

L’exemple de morphing montre comment contrôler les pondérations d’un modèle importé depuis Blender.

L’exemple d’animation de morphing personnalisée montre comment créer une cible de morphing en C++ en créant une sous-classe de ` QQuick3DGeometry`.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.