Atmosphäre-Tools, EZ-Tree-Fixes, i18n, AnimSet, Baum-Export
- blight-lang: TextResolver + EN/DE Sprachpakete (TextReference i18n) - AnimSet: Clips + ActionMap in .animset.json zusammengeführt - EZ-Tree: Branch-Parameter-Fixes (length/radius/children/force nicht senden, twist Grad→Radiant, leaves.size ×5); Ordner-ComboBox mit Auto-Refresh - Logging beim Baum-Export in allen drei Generatoren (EZ-Tree, Blight, Palme) - Atmosphäre-Tools: Emitter, Licht, Wasser, Sound-/Musikbereiche, Spiel-Starten - AnimPreviewState, RetargetingSystem, AnimationLibrary (Animations-Editor) - Terrain-Transparenz-Fix, Schatten-Fix, ThirdPersonCamera-Fix - DayNightState, WeatherState, CloudsNode, JmeConsole - MapIO v6, neue blight-common Modell-Klassen (GameCharacter, NPC, Quests…) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
98
ANIMATIONEN_BLENDER_WORKFLOW.txt
Normal file
98
ANIMATIONEN_BLENDER_WORKFLOW.txt
Normal file
@@ -0,0 +1,98 @@
|
||||
ANIMATIONEN – BLENDER RETARGETING WORKFLOW
|
||||
==========================================
|
||||
|
||||
WARUM DIESER WORKFLOW?
|
||||
----------------------
|
||||
Das Mixamo-Skelett (stand.glb etc.) und das Tripo3D-Skelett (Charakter-Modell) haben
|
||||
unterschiedliche Bone-Orientierungs-Konventionen. Das Runtime-Retargeting in Java kann
|
||||
diesen Mismatch nicht zuverlässig beheben. Lösung: Animationen einmalig in Blender auf
|
||||
das Tripo-Skelett "umrechnen" (baken) und als neue GLBs exportieren.
|
||||
|
||||
Diese Arbeit ist EINMALIG pro Animations-Clip. Danach funktioniert jedes weitere
|
||||
Tripo3D-Modell mit denselben Bone-Namen automatisch über AnimationLibrary.
|
||||
|
||||
|
||||
VORAUSSETZUNGEN
|
||||
---------------
|
||||
- Charakter-Modell als GLB-Datei (die Quelldatei, aus der die .j3o erzeugt wurde)
|
||||
- Mixamo-Animations-GLB (z.B. stand.glb, twohand_idle.glb)
|
||||
- Blender 3.x oder 4.x
|
||||
|
||||
|
||||
WORKFLOW (für jede Animation einmal wiederholen)
|
||||
------------------------------------------------
|
||||
|
||||
Schritt 1: Beide Armatures in Blender laden
|
||||
File → Import → glTF 2.0 → Charakter-Modell .glb (= Custom-Armature)
|
||||
File → Import → glTF 2.0 → stand.glb (= Mixamo-Armature + Animation)
|
||||
|
||||
Schritt 2: Custom-Armature vorbereiten
|
||||
- Custom-Armature selektieren
|
||||
- Pose Mode (Ctrl+Tab)
|
||||
- Alle Bones selektieren (A)
|
||||
|
||||
Schritt 3: Copy-Rotation-Constraints setzen
|
||||
Für jeden Bone in der Custom-Armature:
|
||||
Bone-Properties → Constraints → Add Bone Constraint → Copy Rotation
|
||||
Target: Mixamo-Armature
|
||||
Bone: entsprechender Mixamo-Bone (siehe Mapping unten)
|
||||
|
||||
BONE-MAPPING (Custom → Mixamo):
|
||||
┌─────────────────┬─────────────────────────┐
|
||||
│ Custom │ Mixamo │
|
||||
├─────────────────┼─────────────────────────┤
|
||||
│ Pelvis │ mixamorig:Hips │
|
||||
│ Waist │ mixamorig:Spine │
|
||||
│ Spine01 │ mixamorig:Spine1 │
|
||||
│ Spine02 │ mixamorig:Spine2 │
|
||||
│ NeckTwist01 │ mixamorig:Neck │
|
||||
│ L_Clavicle │ mixamorig:LeftShoulder │
|
||||
│ L_Upperarm │ mixamorig:LeftArm │
|
||||
│ L_Forearm │ mixamorig:LeftForeArm │
|
||||
│ L_Hand │ mixamorig:LeftHand │
|
||||
│ R_Clavicle │ mixamorig:RightShoulder │
|
||||
│ R_Upperarm │ mixamorig:RightArm │
|
||||
│ R_Forearm │ mixamorig:RightForeArm │
|
||||
│ R_Hand │ mixamorig:RightHand │
|
||||
│ L_Thigh │ mixamorig:LeftUpLeg │
|
||||
│ L_Calf │ mixamorig:LeftLeg │
|
||||
│ L_Foot │ mixamorig:LeftFoot │
|
||||
│ R_Thigh │ mixamorig:RightUpLeg │
|
||||
│ R_Calf │ mixamorig:RightLeg │
|
||||
│ R_Foot │ mixamorig:RightFoot │
|
||||
└─────────────────┴─────────────────────────┘
|
||||
|
||||
Schritt 4: Animation baken
|
||||
Pose → Animation → Bake Action
|
||||
✓ Only Selected Bones
|
||||
✓ Visual Keying
|
||||
✓ Clear Constraints
|
||||
Bake Data: Pose
|
||||
|
||||
→ Erzeugt eine neue Action auf dem Custom-Skelett.
|
||||
|
||||
Schritt 5: Exportieren
|
||||
- Mixamo-Armature aus der Szene löschen (X → Delete)
|
||||
- Custom-Armature selektieren
|
||||
- File → Export → glTF 2.0
|
||||
Format: GLB
|
||||
Include: Selected Objects only
|
||||
Animation: ✓ (Export animations)
|
||||
- Speichern als: blight-assets/src/main/resources/animations/stand.glb
|
||||
(überschreibt das alte, fehlerhafte GLB)
|
||||
|
||||
→ Workflow für jede weitere Animation (twohand_idle.glb etc.) wiederholen.
|
||||
|
||||
|
||||
WIE ES DANACH FUNKTIONIERT
|
||||
---------------------------
|
||||
Die neuen GLBs haben das Tripo-Skelett mit den korrekten vorgerechneten Animationen.
|
||||
AnimationLibrary lädt sie beim Start automatisch und verteilt sie per applyAllTo()
|
||||
auf alle Charaktere im Spiel.
|
||||
|
||||
Neue Tripo3D-Charaktere (gleiche Bone-Namen) bekommen alle Animationen automatisch —
|
||||
kein weiteres Blender-Mapping nötig, weil das RetargetingSystem Bind-Pose-Unterschiede
|
||||
(z.B. unterschiedliche Proportionen) selbst korrigiert.
|
||||
|
||||
Neuer Animations-Clip von Mixamo:
|
||||
→ Einmal durch diesen Workflow → GLB in animations/ ablegen → fertig.
|
||||
Reference in New Issue
Block a user