Rotoren

Aser

Erfahrenes Mitglied
Sers

(ich quäl mich schon wirklich lang damit herum und hab auch die Suchfunktion genutzt)

also ich hab da z.B. einen Helikopter und möchte, dass sich die Rotorenblätter ständig drehen.

Ich kann das zwar animieren, dass sich etwas bewegt, von Punkt A nach Punkt B…
Habs daher improvisatorisch so gelöst, dass ich die einfach die Sequenz hintereinander abspielen lasse…
Ich will es aber regulär haben…
So dass IMMER
z.b.

der Propeller alle 25Frames sich einmal um 180 Grad dreht

hab mal diesen Coffeecode bekommen



main(doc,op)

{
var zahnrad = doc->FindObject ("Antriebsrad");
var zahnrad_rotation = zahnrad->GetRotation ();
var rotation = -zahnrad_rotation;
op->SetRotation(rotation);
}



hat damit allerdings mit meinen Kenntnissen in Coffee nicht viel anfangen können
vermute aber mal, dass das genau das ist, wonach ich suche…

Hab einen meiner Flieger im Anhang

Wäre super wenn einer mir den passenden coffeecode generieren würde, bzw. gleich einbauen und mir dann die cinema4d Datei zuschicken, bzw „zurückposten“

Wäre super nett von euch…

P.S. wäre optimal wenn ihrs Cinema 4d ce 6 kompatibel machen könntet, aber ich will nicht gleich zu viel auf einmal fordern
P.S. ich entschuldige mich mal, wenn ich nicht immer auf jeden Post meiner Fragen antworte

Also… danke dann mal
 

Anhänge

Hi!

Bei der Lösung über ein Coffee-Script, wäre es naheliegend, sich am "aktuellem Frame" zu orientieren -> die Rotation in Abhängigkeit des Frames ... bedeutet ja auch, der Rotor dreht sich "immer" ;)
Ich hoffe die Lösung ist nicht voll am Gewünschten vorbei :)
PHP:
main(doc,op)
{
// aktuelle Zeit
var t 	= doc->GetTime();
// aktuelles Frame
var frame = t->GetFrame(doc->GetFps());
// aktuellen Rotations-Vektor holen
var rotor_rot = op->GetRotation();
// Z-Rotation in Abhängigkeit des aktuellen Frames setzen (Multiplikator selbst herausbekommen ;) )
rotor_rot.z = frame*0.1;
// Rotation dem Objekt mit Coffee-Tag zuweisen
op->SetRotation(rotor_rot);
}

Liebe Grüße,
Mark.
 
Warum so kompliziert. Wenn Du eine Drehung von 180° pro 25 Frames haben willst, dann rechnest Du einfach Gesamtframes*180/25 ergibt in Deinem Fall eine Gesamtrotation von 9662°. Also bei Frame 1 0° Key setzen und bei Ende 9662° auf der Y-Achse Key setzen ( ich meine natürlich Keyframe-Aufnahme ). Fertig. Dies gilt nur bei gleichmässiger Drehung. Alles andere wird etwas aufwendiger. Ich habe die fertige C4D mal angehängt.
Gruss Jan

EDIT: Ach ja, ich habe die Y-Achse sinnvoller ausgerichtet, also nicht wundern!
 

Anhänge

danke

@shadowman
den Thread hab ich gefunden gehabt, aber bin nicht damit zurecht gekommen

@pinkey
das ist genau das, wonach ich gesucht habe
jetzt kann ich ein Zahnrad ganz normal animieren :-) :-)

@jAnimatic
daran habe ich schon selbst gedacht, aber ich wollte es "allgemein" haben,so dass ich von der Umdrehung unabhängig bin, irgendwann wär ich ab Schluss der Animation angelangt... und das wollte ich nicht...
dennoch nochmals danke, dafür dass du dir so viel Mühe gemacht hast
 
Nur leider bezieht sich Pinkys Lösung meiner Ansicht nach auf das Weltkoordinatensystem. Wenn Du damit ein Flugzeugpropeller antreibst dürften lustige Bewegungen rauskommen. Abgesehen davon sind 4 Keys zu erstellen keine grosse Sache, da man die Werte für die Winkel in der Zeitleiste jederzeit an die Filmlänge anpassen kann.
Gruss Jan

PS @ Aser: Du Dieb, klaust mir einfach den 27th.
 
Hi!

Ich bin auch dafür, daß wir jeden "neuen Ansatz" gleich im Keim ersticken! Warum mal mit XPresso oder Coffee spielen, wenn man sogar auf Keys verzichten kann, indem man einfach einen Düsenjet ohne "Rotor" baut ;-]
@lustige Bewegungen: einfach mal ausprobieren, oder ;)
PHP:
println(rotor_rot);

Liebe Grüße
(ein XPresso, Coffee und Kaffee liebender) Mark. :)
 
Zurück