Iteration in c4d

rown

Mitglied
hallo alle zusammen,

bislang war ich nicht darauf angewiesen, aber nun stoße ich in c4d-Tiefen, in denen es wohl unerlässlich ist derartige Lösungen finden zu müssen. Wahrscheinlich ist das alles echt einfach, aber ich raffe die Iteration nicht.

Folgendes soll passieren: Ich habe ein Objekt, in dem ein Unterobjekt steckt. Ist das Unterobjekt rotiert, habe ich über Refobjekte und Constraints eine Schaltung gebaut, die es mir ermöglicht, das Überobjekt so zu rotieren, dass das Unterobjekt bei 100% userdata-input immer global gleich der Weltachse ist. Das funktion alles sehr gut... allerdings muss Cinema fortlaufend 5 Operationen durchführen um die Objekte auszurichten und zu positionieren.

Ich glaube, allerdings bin ich mir da nicht sicher, dass man das am besten mit dem Iteration-Operater bewerkstelltigt. Ich habe nun eine Schaltung gebaut, bei der bei 1 das passiert, bei 2 das, bei 3 das usw. Klappt sehr gut. Nun habe ich den Iterator angeschlossen und das läuft nicht.

Wie funktioniert dieser Operator? Läuft er fortlaufend durch? Muss ich ihn anstoßen? Und kann man ihn stoppen, bspw. bei 5, so dass er nicht mehr zählt? Und ist er überhaupt der richtige Operator?

Entschuldigt diese Fragen, aber das Handbuch hat mich nicht weit gebracht.

Danke und Grüße
Rown
 
Hi!

Der Iterator liefert pro Bild die angegebenen Werte von Start bis Ende . Und entsprechend wird auch die damit verknüpfte Schaltung aufgerufen...?
"allerdings muss Cinema fortlaufend 5 Operationen durchführen um die Objekte auszurichten und zu positionieren." verstehe ich in dem Zusammenhang allerdings nicht. Bzw. ob bei "bei 1 das passiert, bei 2 das, bei 3 das usw." "das" jeweils die gleiche Operation oder jeweils eine eigene ist ...?

Liebe Grüße,
Mark.

//edit: Anhang schreibt den Iterations-Wert in die Konsole :)
 

Anhänge

  • iteration.jpg
    iteration.jpg
    23,9 KB · Aufrufe: 61
Hallo Mark,

ich habe schon viel von dir gelesen. Es ist mir eine Ehre.
Ich hatte die letzten Tage andersweitig zu tun, deshalb komme ich erst jetzt wieder dazu mich dem Iterationsproblem zu widmen. Obwohl ich das eigentlich eh erstmal auf Eis gelegt hab.

Bei meinem Vorhaben den Iterator zu nutzen, handelte es sich um den Versuch, eine Abfolge von Operationen zu bauen. Dazu habe ich den Iterator von eins bis fünf durchzählen lassen und hinter ihn mehrere Vergleich-Nodes geschaltet, die ein True/False-Befehl an einen Schalter weiterleiteten, der dann wiederum die jeweilige Operation auslöst.
Das Ganze ist ähnlich der Prioritäten-Reihe aus den Tags. Ich wollte das ganze allerdings gerne so lösen, da innerhalb der Abfolge manche Constraints abgeschaltet um zwei Schritte weiter wieder angeschaltet werden sollten.
Nun stellt sich aber die Frage, ob die Priorität eines derart benutzen Constraints für die Funktion des Ganzen ausschlaggebend ist. Denn wird das XpressoTag vor dem Constraint durchlaufen, schaltet es das C. ab, noch bevor C. wirken kann. Sehe ich das richtig?

bis denn
Rown
 
Hi Rown,

ich denke, es ist, wie Du selbst schreibst: wenn Du innerhalb von XPresso ein Constraint ausschaltest, passiert bzgl. dessen Wirkung überhaupt nix ... Erst wenn die Constraints an der Reihe sind, wird der Zustand eruiert und das Constaint wirkt (oder eben nicht).
Nun könnt man ja mehrere XPresso-Tags und deren Prioritäten nutzen ... aber in dieser Reihenfolge kann das eine Constraint - welches an und aus geschaltet wird - nur ein mal aufscheinen ;)
Eine Möglichkeit könnte noch Coffee sein. Damit läßt sich auf Wunsch die gesamte Szene "animieren", also "auswerten". So könnte man also Auswertungskette jeweils komplett neu durchlaufen lassen... ?

Liebe Grüße,
Mark.
 
Hola Mark,

leider ist mir Coffee noch ein Buch mit 70 Siegeln und ich glaube, dass wird noch eine Weile dauern bis ich diese knacken werde.
Da ich mir das schon gedacht hatte mit den Prioritäten, habe ich die Constraintoperationen in den Iterationsablauf direkt eingebunden. Sprich anstatt einen Positionsconstraint zu nutzen, habe ich mir bei 0 die Position einfrieren lassen und bei ist gleich 1 die neue Position übergeben.
Nun aber stellt sich die Frage wie der Iterator funktioniert. Da er so schnell arbeitet, kann ich das nicht klar erkennen. Irgendwo habe ich gelesen, dass er von Start bis Ende zählt und wieder zurück, was für meine Funktion schlecht wäre, da die Reihenfolge wichtig ist. Allerdings zeigt das Ergebnis-Node immer 5 an, wodurch ich glaube, dass er nur einmal durchzählt und bei Ende stehen bleibt.
Nun ich werde mir das in einem ruhigen Moment nochmal anschauen...

Gruß und Danke
Rown
 
Hi!

Der Iterator zählt einmal pro Frame (XPresso-Aufruf) von Start bis Ende ...
... müsste ja sonst "Iternations Start/Ende" & "Iterations Zwischenstopp" heißen :D

Liebe Grüße,
Mark.
 
Hola Mark,

entschuldige bitte meine Unverforenheit dich direkt anzusprechen, aber wenn ich dich schon (sogeschrieben) an der Strippe habe, möchte ich das gleich nutzen.

Unter http://www.youtube.com/watch?v=3XjYAIrlYws ist eine erste Veröffentlichung der Arbeit zu finden, wegen der ich dieses Thema eröffnet habe.
Nun handelt es sich um ein Preview, da ich zum einen noch eine ganze Reihe anderer Cycles erstellen möchte und zum anderen im Hintergrund einige Informationen über die Bewegungen ablaufen lassen will.
Dazu habe ich zwei Fragen. Ich hätte gern zu jedem für die Bewegung wichtigen Körperteil ein Positionsliniediagramm in y, x und z sowie Rotationliniediagramm in H, P und B. Dazu stelle ich mir einen Spline mit 5 bis 7 Punkten vor. Der mittlere zeigt den aktuellen Zustand an, die links die Zustände der vorangegangen Bilder und die rechts der kommenden.
Frage 1: Wie kann ich die Werte der vorangegangenen und kommenden Bilder auslesen lassen?
Frage 2: Ist es möglich eine Animationsspur mit xpresso zu verknüpfen? Da ich bei den Diagrammen auch gerne anzeigen lassen möchte wo sich ein Keyframe befindet, wäre es schön wenn xpresso erkennt ob im aktuellen Bild bspw. für L_hand x-Position ein Key gesetzt wurde.

Ich weiß, dass das gerade nicht in dieses Thema gehört, aber ich bin mit Foren ehrlich gesagt alles andere als bewandert.

Grüße
Rown
 
Zurück