Morphing-Animation

Einführung

Morphing-Animation (auch bekannt als Vertex-Animation) ist eine Möglichkeit, Verformungen von weichen Materialien zu simulieren. Dabei wird eine Form fließend in eine andere transformiert. Dazu wird ein Netz erstellt, das mehrere Positionen für jeden Scheitelpunkt enthält. Jeder zusätzliche Satz von Positionen definiert eine Form, die morph target genannt wird. Bei der Animation wird jedem Ziel eine weight zugewiesen. Die effektive Position jedes Scheitelpunkts wird durch lineare Interpolation zwischen den Positionen für dieses Ziel entsprechend den Gewichten berechnet.

Das Morphing unterscheidet sich von der Skelettanimation, bei der wir ein imaginäres Skelett erstellen und das Modell durch die Definition der Beziehung zwischen jedem Scheitelpunkt des Modells und den Knoten dieses Skeletts aufstellen.

Beachten Sie, dass die grundlegende Struktur jedes Morph-Ziels gleich sein muss: Wenn drei Eckpunkte im Basismodell ein Dreieck bilden, bilden sie auch in allen Morph-Zielen ein Dreieck. Das Dreieck kann eine völlig andere Position, Ausrichtung und Größe haben, oder es kann sogar effektiv entfernt werden, indem es zu einem entarteten Dreieck mit der Größe Null gemacht wird.

In den meisten Fällen wird das Mesh mit einem externen Tool erstellt und mit dem Balsam-Asset-Import-Tool importiert. Im Blender 3D-Editor werden Morph-Ziele beispielsweise "Shape Keys" genannt, in Autodesk Maya heißen sie "Blend Shapes".

Das Morphing-Beispiel zeigt, wie man die Gewichte eines aus Blender importierten Modells kontrolliert.

Das Beispiel für eine benutzerdefinierte Morphing-Animation zeigt, wie man ein Morph-Target in C++ durch Unterklassifizierung von QQuick3DGeometry erstellt.

© 2025 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.