Engine-Guide

Geriggte Figuren in Unity, Godot und Unreal nutzen

Derzeit gibt es acht Modelle auf Grab3D mit Rig-Variante: den Samurai, den Ritter in Rüstung, den Wikinger, den Zauberer, den Sci-Fi-Soldaten, den Roboter, den Alien und das menschliche Skelett. Alle sind CC0, du kannst sie also ohne Namensnennung in kommerziellen Spielen verwenden. Dieser Guide zeigt, wie du eine davon in Unity, Godot 4 und Unreal Engine 5 zum Gehen und Laufen bringst, und wo das Rig an seine Grenzen kommt.

Was im Rig-Download steckt

Die Rig-Variante ist ein eigener Download auf der Modellseite, neben den statischen High-Detail-Dateien.

  • Dateien: GLB, FBX und .blend, alle ohne Mesh-Kompression. USDZ oder OBJ gibt es für Rig-Varianten nicht.
  • Skelett: ein Humanoid-Rig mit 24 Knochen: Hüfte, drei Wirbelsäulen-Knochen, Hals, Kopf (plus zwei kleine Hilfsknochen am Kopf), Schultern, Oberarme, Unterarme, Hände, Oberschenkel, Unterschenkel, Füße und Zehen. Finger-, Kiefer- oder Gesichtsknochen gibt es nicht.
  • Animationen: zwei Clips, walk (1,0 s) und run (0,625 s). Beide laufen auf der Stelle: Die Hüfte bewegt sich nur wenige Zentimeter, es gibt kein Root Motion. Dein Character-Controller bewegt die Figur, der Clip animiert nur den Körper.
  • Mesh und Texturen: 216.000–300.000 Dreiecke und PBR-Texturen in 2K. Die Originaltextur wird nach dem Rigging zurück auf das geriggte Mesh gebacken.
  • Maßstab: reale Meter, Pivot an den Füßen. Der Samurai ist zum Beispiel 1,75 m groß.

Welche Datei du nimmst: FBX für Unity und Unreal, GLB für Godot (dort geht auch das FBX), .blend für Blender. Alle drei sind etwa gleich groß, und das GLB ist nicht Draco-komprimiert: Godot liest es nativ, Unity braucht nur ein glTF-Package. Die Dateigrößen je Format stehen in unserer Dateigrößen-Messung.

Unity

Humanoid-Avatar einrichten

  1. Zieh das geriggte FBX in deinen Assets/-Ordner.
  2. Wähl es aus und öffne im Inspector den Tab Rig. Stell Animation Type auf Humanoid und Avatar Definition auf Create From This Model, dann klick auf Apply.
  3. Klick auf Configure…, um das Bone-Mapping zu prüfen. Unity ordnet die Knochen automatisch anhand der Hierarchie zu. Die Pflicht-Knochen (Hüfte, Wirbelsäule, Kopf, Arme, Beine) sollten belegt sein. Die Finger-Slots bleiben leer, denn das Rig hat keine Fingerknochen, und das ist in Ordnung. Fehlt ein Knochen oder ist er falsch zugeordnet, weise ihn in der Mapping-Ansicht manuell zu und klick dann auf Done.

Clips loopen lassen

Öffne den Tab Animation desselben FBX. Wähl in der Clip-Liste den Walk-Clip aus, setz den Haken bei Loop Time und mach dasselbe für Run. Klick auf Apply. Verwende die Clip-Namen genau so, wie Unity sie auflistet.

Animator Controller bauen

  1. Leg einen Animator Controller an und füg einen Float-Parameter Speed hinzu.
  2. Füg Walk und Run als zwei States hinzu, mit Übergängen Walk → Run, wenn Speed über deinem Schwellwert liegt, und Run → Walk, wenn er darunter liegt. Entferne bei beiden Übergängen den Haken bei Has Exit Time, damit der Wechsel sofort reagiert. (Ein 1D-Blend-Tree auf Speed mit Walk und Run funktioniert ebenfalls und blendet weich.)
  3. Setz die Figur in deine Szene, weise den Controller ihrer Animator-Komponente zu und lass Apply Root Motion aus, denn die Clips laufen auf der Stelle.

Mit einem CharacterController bewegen

Weil die Clips kein Root Motion haben, bewegt ein Skript die Figur und gibt die Geschwindigkeit an den Animator weiter. Ein minimales Beispiel für den klassischen Input Manager (mit dem neuen Input System liest du stattdessen deine Action aus):

using UnityEngine;

[RequireComponent(typeof(CharacterController))]
public class SimpleMover : MonoBehaviour
{
    public float walkSpeed = 1.5f; // anpassen, bis die Füße nicht mehr rutschen
    public float runSpeed = 4f;
    CharacterController controller;
    Animator animator;

    void Awake()
    {
        controller = GetComponent<CharacterController>();
        animator = GetComponentInChildren<Animator>();
    }

    void Update()
    {
        var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
        input = Vector3.ClampMagnitude(input, 1f);
        float speed = Input.GetKey(KeyCode.LeftShift) ? runSpeed : walkSpeed;
        Vector3 velocity = input * speed;
        controller.SimpleMove(velocity);
        if (input.sqrMagnitude > 0.001f) transform.forward = input.normalized;
        animator.SetFloat("Speed", velocity.magnitude);
    }
}

Leg dieses Skript und einen CharacterController auf ein Eltern-Objekt, mit dem Figurenmodell als Kind (dreh das Kind, falls das Modell in die falsche Richtung schaut). Passe Höhe und Mittelpunkt des CharacterControllers an die Figur an.

Der GLB-Weg

Wenn du glTF bevorzugst, installier ein glTF-Package (glTFast oder UnityGLTF). Das geriggte GLB ist nicht Draco-komprimiert, ein Draco-Package brauchst du also nicht. Die Animationen kommen als Clips an, aber wie Humanoid-Avatare eingerichtet werden, unterscheidet sich zwischen den glTF-Packages. Für den Mecanim-Humanoid-Workflow oben ist das FBX der einfachere Weg. Mehr im Unity-Import-Guide.

Godot 4

GLB importieren

Nimm das GLB der Rig-Variante: glTF ist Godots natives Format, und unser geriggtes GLB hat keine Draco-Kompression. Das geriggte FBX funktioniert ab Godot 4.3 ebenfalls. Kopier die Datei in dein Projekt, Godot importiert sie automatisch.

Loop-Modus setzen

Doppelklick auf die Datei öffnet die Advanced Import Settings. Wähl im Baum die Walk-Animation aus, stell ihren Loop Mode auf Linear, mach dasselbe für Run und klick auf Reimport.

Clips abspielen

Instanziiere die importierte Szene als Kind eines CharacterBody3D. Ihr AnimationPlayer listet die Clips. Verwende die Namen genau so, wie sie dort stehen. Für einen schnellen Test rufst du play() mit dem Namen des Walk-Clips am AnimationPlayer auf.

Für weiche Übergänge fügst du einen AnimationTree hinzu, verweist ihn auf den AnimationPlayer und nutzt einen BlendSpace1D als Wurzel, mit Walk bei 0 und Run bei 1. Ein minimales Bewegungsskript für den CharacterBody3D (Godot 4.3+, setzt voraus, dass das Modell ein Kindknoten namens Model ist, der nach +Z schaut):

extends CharacterBody3D

@export var walk_speed := 1.5 # anpassen, bis die Füße nicht mehr rutschen
@export var run_speed := 4.0
@onready var anim_tree: AnimationTree = $AnimationTree
@onready var model: Node3D = $Model

func _physics_process(delta: float) -> void:
    var input := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
    var dir := Vector3(input.x, 0.0, input.y)
    var speed := run_speed if Input.is_key_pressed(KEY_SHIFT) else walk_speed
    velocity.x = dir.x * speed
    velocity.z = dir.z * speed
    if not is_on_floor():
        velocity += get_gravity() * delta
    move_and_slide()
    if dir.length() > 0.01:
        model.rotation.y = atan2(dir.x, dir.z)
    var horizontal := Vector2(velocity.x, velocity.z).length()
    anim_tree.set("parameters/blend_position", clampf(inverse_lerp(walk_speed, run_speed, horizontal), 0.0, 1.0))

Einen Idle-Clip gibt es nicht: Steht die Figur still, pausiere die Animation oder füg dein eigenes Idle hinzu. Allgemeine Import-Einstellungen stehen im Godot-Import-Guide.

Unreal Engine 5

Als Skeletal Mesh importieren

Zieh das geriggte FBX in den Content Browser. Achte im Import-Dialog darauf, dass es als Skeletal Mesh importiert wird, lass das Skeleton-Feld leer, damit ein neues Skeleton entsteht, lass Import Animations aktiviert und Unreal ein Physics Asset erzeugen. Am Ende hast du das Skeletal Mesh, sein Skeleton, ein Physics Asset und die Animation Sequences für Walk und Run. Neuere Engine-Versionen nutzen einen anderen Import-Dialog, die Optionen heißen aber ähnlich.

Größe und Ausrichtung prüfen

Unreal rechnet in Zentimetern. Öffne das Skeletal Mesh und prüf die Höhe: Der Samurai sollte etwa 175 cm groß sein. Nur wenn die Größe deutlich daneben liegt, importierst du mit angepasster Import Uniform Scale neu. Dreh im Character Blueprint die Mesh-Komponente so, dass die Figur in die Vorwärtsrichtung der Kapsel (X) schaut, und schieb sie nach unten, bis die Füße den Kapselboden berühren. Das ist dieselbe Anpassung, die auch die Template-Figuren der Engine nutzen.

Gehen, Laufen und Bewegung

Leg auf dem Skeleton einen Blend Space 1D mit einer Geschwindigkeits-Achse an, Walk am unteren und Run am oberen Ende. Lies in einem Animation Blueprint die Geschwindigkeit der Character Movement Component aus, gib ihre Länge an den Blend Space weiter und gib die Pose aus. Weil die Clips auf der Stelle laufen, übernimmt die Character Movement Component die eigentliche Bewegung, ein Root-Motion-Setup ist also nicht nötig.

Mannequin-Animationen wiederverwenden

Dieses Skelett ist nicht Unreals Mannequin-Skelett: Knochennamen und -anzahl unterscheiden sich, und Fingerknochen fehlen. Um Mannequin-Animationen zu nutzen, legst du für jedes Skelett ein IK Rig an (mit Retarget-Chains für Wirbelsäule, Kopf, Arme und Beine), verbindest beide in einem IK Retargeter und exportierst die übertragenen Animationen. Neuere Engine-Versionen können Chains für gängige humanoide Skelette vorschlagen. Prüf das Ergebnis trotzdem, vor allem Schultern und Hände, und rechne mit etwas Handarbeit.

Ehrliche Grenzen

  • Automatisches Rig, keine manuelle Gewichtung. Die Verformung an Schultern, Ellbogen und Hüfte kann in extremen Posen unsauber sein. Lose Kleidung, Umhänge, Roben, Haare und einzelne Rüstungsteile haben keine eigenen Knochen und bewegen sich mit dem nächstgelegenen Knochen.
  • 24 Knochen, keine Finger, kein Gesicht. Die Hände behalten ihre modellierte Haltung, es gibt keine Gesichtsanimation und keinen eigenen Waffenknochen. Props hängst du an den Handknochen (ein Socket in Unreal, ein BoneAttachment3D in Godot).
  • Nur Gehen und Laufen. Keine Idle-, Sprung- oder Angriffs-Clips. Unitys Humanoid-Retargeting, Unreals IK Retargeter und Godots Bone Map für humanoide Skelette helfen dir, andere Clips zu übernehmen. Die Ergebnisse hängen aber von den Proportionen ab und müssen geprüft werden.
  • Hohe Dreieckszahl. Mit 216.000–300.000 Dreiecken sind das Hero-Figuren. Für viele Figuren gleichzeitig auf dem Bildschirm baust du eigene LODs.
  • Nur Zweibeiner. Automatisches Rigging funktioniert bei Zweibeinern, unsere vierbeinigen Tiere haben keine Rig-Variante.

Fehlt dir eine Figur oder eine Animation? Trag sie ins Wunsch-Board ein. Lizenzfragen beantworten die Lizenzseite und die FAQ, und wie die Rigs entstehen, steht auf So entstehen unsere Modelle.

Passende Modelle

Samurai in rot-goldener Lackrüstung mit Sichel-Helmzier und Katana, stehend in A-Pose
High Detail Rigged

Samurai

800.000 Dreiecke GLB 29 MB

Wikinger mit geflochtenem rotem Bart, Nasalhelm, Fellkragen, beschlagener Lederweste, grüner Tunika und Axt
High Detail Rigged

Wikinger

799.998 Dreiecke GLB 28 MB

Alter Zauberer mit langem weißem Bart, spitzem blauem Hut und nachtblauem Gewand mit Goldsternen und Monden
High Detail Rigged

Zauberer

800.000 Dreiecke GLB 27 MB