Schritte mit Python
Version 1.00 |
für C4D R25 <c> by Klaus Büchner |
auf Bild klicken, um
Beispielfilm zu sehen:
download C4D-Datei "laufen_Python.zip"
Hallo,
die Animation von
Charakter-Schritten ist nicht trivial. Die Beine dürfen ja nicht einfach hin-
und herschwingen, sondern ein Fuß muss eine Weile an der
selben Stelle auf dem Boden bleiben, während der andere Fuß
vorbeischwingt.
Da mir die Character-Presets von C4D zu kompliziert, unverständlich
und unflexibel sind, habe ich das mit Python probiert (siehe C4D-File).
Voraussetzung ist ein Zweibeiner-Rig, das aus Bones/Joints oder Polygonobjekten bestehen
kann.
Der oberste Joint in der Hirarchie muss in meinem Beispiel "Rumpf" heißen.
Weiterhin braucht man einen
Spline, auf dem sich ein "Objekt" bewegt.
Diesem Untergeordnet sind
zwei Fuß-Ziele, die die IK-Ziele für die Beine sind.
Am Null-Objekt "Schrittmacher" (Name beliebig)
befindet sich das Python-Tag.
Die folgenden Bezeichner sind
nicht beliebig oder müssen im Python-Script
entsprechend umbenannt werden:
Spline - Der
Spline, an dem sich der Charakter entlang bewegt. Dieser sollte sich auf
Bodenhöhe befinden.
Objekt - ein
Null-Objekt mit einem "auf-Spline-ausrichten-Tag", das selbst auf dem
Spline animiert werden muss.
Die folgenden Objekte müssen
dem Objekt untergeordnet sein:
L_Fuss_Ziel/R_Fuss_Ziel - Ziele für die IK-Tags der Beine
Rumpf
- das erste Bone des Rigs
Der "Schrittmacher"
enthält folgende Benutzerdaten:
Höhe Rumpf -
die Höhe des Rumpfs. Damit kann auch schleichen oder springen animiert werden.
Schrittlänge
- die Distanz in cm pro Schritt
Hub Fuß -
oberste Höhe beim Anheben des Fußes
Fußabstand -
der Abstand zwischen den Fuß-Zielen
Hub Körper -
Hub des Rumpfes pro Schritt
nicken -
nicken des Rumpfes pro Schritt
Körperdrehung
- Drehung des Rumpfes um die Y-Achse pro Schritt
Die Arme habe ich nicht
automatisch zu den Schritten animiert um mehr Gestaltungsfreiheit zu lassen.
Die wackeln erstmal mit Vibrieren-Tag.
Das waren erste Versuche.
Vielleicht hat jemand noch Ideen oder Tipps.
Viel Spaß,
Klaus aus Berlin