Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Neuzuweisung von 3D-Skeletten
Optionen für Neuzuweisung
Knochen-Map
Wenn Sie den Skeleton3D-Node im erweiterten Szenenimportmenü auswählen, erscheint auf der rechten Seite ein Menü, das den Abschnitt "Neuzuweisen" enthält. Der Abschnitt "Neuzuweisen" hat eine einzige Property bone_map.
Wenn der Skeleton-Node ausgewählt ist, legen Sie zunächst eine neue BoneMap und SkeletonProfile an. Godot hat eine Vorgabe namens SkeletonProfileHumanoid für humanoide Modelle. Dieses Tutorial geht davon aus, dass Sie SkeletonProfileHumanoid verwenden.
Bemerkung
Wenn Sie ein anderes Profil als SkeletonProfileHumanoid benötigen, können Sie ein SkeletonProfile aus dem Editor exportieren, indem Sie ein Skeleton3D auswählen und das Menü Skeleton3D in der Toolbar des 3D-Viewports verwenden.
Wenn Sie SkeletonProfileHumanoid verwenden, wird ein automatisches Zuordnung durchgeführt, wenn das SkeletonProfile gesetzt ist. Wenn die automatische Zuordnung nicht gut funktioniert, können Sie Knochen manuell zuordnen.
Fehlende, doppelte oder falsche Zuordnungen von Parent-Child-Beziehungen werden durch einen magentafarbenen/roten Button angezeigt (je nach Editoreinstellung). Sie blockiert den Importvorgang nicht, warnt aber davor, dass Animationen möglicherweise nicht korrekt geteilt werden.
Bemerkung
Die automatische Zuordnung verwendet Pattern Matching für die Knochennamen. Wir empfehlen daher, gebräuchliche englische Namen für Knochen zu verwenden.
Nachdem Sie die bone_map eingerichtet haben, stehen Ihnen in den folgenden Abschnitten verschiedene Optionen zur Verfügung.
Tracks entfernen
Wenn Sie Ressourcen als AnimationLibrary importieren, die gemeinsam genutzt werden sollen, empfehlen wir, diese Optionen zu aktivieren. Wenn Sie jedoch Ressourcen als Szenen importieren, sollten diese Optionen in einigen Fällen deaktiviert werden. Wenn Sie zum Beispiel einen Charakter mit animierten Accessoires importieren, können diese Optionen dazu führen, dass die Accessoires nicht animiert werden.
Außer Knochen-Transform
Entfernt alle Tracks außer dem Knochen-Transform-Track aus den Animationen.
Unwichtige Positionen
Removes Position tracks other than root_bone and scale_base_bone
defined in SkeletonProfile from the animations. In SkeletonProfileHumanoid,
this means that to remove Position tracks other than "Root" and "Hips".
Since Godot 4, animations include Bone Rest in the Transform value. If you disable this option,
the animation may change the body shape unpredictably.
Nicht-zugeordnete Knochen
Entfernt nicht zugeordnete Knochen-Transform-Tracks aus den Animationen.
Knochen-Umbenenner
Knochen umbenennen
Umbenennen der zugeordneten Knochen.
Einzigartiger Node
Macht das Skelett zu einem eindeutigen Node mit dem in skeleton_name angegebenen Namen. Dies ermöglicht die Vereinheitlichung der Animationspfade unabhängig von der Szenenhierarchie.
Ruheposen-Fixer
Für die in SkeletonProfileHumanoid definierten Referenzposen gelten die folgenden Regeln:
Für Humanoide gilt die T-Pose
Der Humanoide ist im rechtshändigen Y-oben-Koordinatensystem nach +Z ausgerichtet
Der Humanoide sollte keinen Transform als Node haben
Richtet die +Y-Achse vom Parent-Gelenk zum Child-Gelenk
Die +X-Rotation beugt das Gelenk wie ein Muskel, der sich zusammenzieht
Diese Regeln sind praktische Definitionen für Blend-Animationen und Inverse Kinematik (IK). Wenn Ihr Modell nicht dieser Definition entspricht, müssen Sie es mit diesen Optionen korrigieren.
Node-Transform anwenden
Wenn das Asset nicht korrekt für die gemeinsame Nutzung exportiert wurde, kann das importierte Skelett einen Transform als Node haben. Ein aus Blender exportiertes glTF, bei dem kein "Apply Transform" ausgeführt wurde, ist beispielsweise ein solcher Fall. Es sieht so aus, als ob das Modell mit der Definition übereinstimmt, aber die internen Transforms unterscheiden sich von der Definition. Diese Option behebt solche Modelle, indem Transforms beim Import angewendet werden.
Bemerkung
Wenn die importierte Szene andere Objekte als Skelette enthält, kann sich diese Option nachteilig auswirken.
Positions-Tracks normalisieren
Der Positions-Track wird hauptsächlich für die Bewegung des Modells verwendet, aber die gemeinsame Nutzung der Bewegungsanimation durch Modelle mit unterschiedlichen Höhen kann aufgrund der unterschiedlichen Schrittlänge zu einem Verrutschen führen. Diese Option normalisiert die Werte des Positions-Tracks basierend auf der scale_base_bone-Höhe. Die scale_base_bone-Höhe wird im Skelett als motion_scale gespeichert, und die normalisierten Position-Track-Werte werden beim Abspielen mit diesem Wert multipliziert. Wenn diese Option deaktiviert ist, werden die Positions-Tracks nicht normalisiert und die motion_scale des Skeletts wird immer als 1.0 importiert.
Bei SkeletonProfileHumanoid ist scale_base_bone "Hips", daher wird die Höhe der Hüfte als motion_scale verwendet.
Achse überschreiben
Vereinheitlicht die Knochen-Standardposen der Modelle durch Überschreiben, damit sie mit den im SkeletonProfile definierten Referenzposen übereinstimmen.
Bemerkung
This is the most important option for sharing animations in Godot 4, but be aware that this option can produce horrible results if the original Bone Rest set externally is important. If you want to share animations with keeping the original Bone Rest, consider to use the Realtime Retarget Module.
Korrigieren der Silhouette
Versucht, die Silhouette des Modells an die in SkeletonProfile definierten Referenzposen, wie z. B. T-Pose, anzupassen. Dies kann keine Silhouetten korrigieren, die zu unterschiedlich sind, und es funktioniert möglicherweise nicht für die Korrektur von Knochen-Rollen.
Mit SkeletonProfileHumanoid muss diese Option für T-Pose-Modelle nicht aktiviert werden, sollte aber für A-Pose-Modelle aktiviert werden. In diesem Fall können die Ergebnisse für den fixierten Fuß jedoch schlecht sein, abhängig von der Fersenhöhe des Modells, so dass es notwendig sein kann, die SkeletonProfile Knochen-Namen, die nicht fixiert werden sollen, in das Filter-Array einzufügen, wie im folgenden Beispiel.
Außerdem kann es bei Modellen mit gebeugten Knien oder Füßen notwendig sein, die Höhe der scale_base_bone anzupassen. Hierfür können Sie die Option base_height_adjustment verwenden.