Antworten auf deine Fragen:
Neues Thema erstellen

Animation in Teilabschnitten rendern und Teile als Jobs an Render Manager übergeben

MAXIMVS

Noch nicht viel geschrieben

Liebe Experten,
ich bin Anfänger, habe mich zwar schon ordentlich in die Materie eingegraben, kann aber leider zu Folgendem keine Lösung finden und würde mich sehr über Eure Hilfe freuen:

Eine Animation mit gut 3.500 Frames möchte ich in Teilabschnitten rendern.
Also z. B. Frame 0 bis Frame 125, dann Frame 126 bis Frame 275, usw.
Ich benötige die separaten Sequenzen, um sie bei Bedarf in veränderlicher Folge präsentieren zu können (es geht um Szenenwechsel in einem Theaterstück).
Gleichzeitig wäre es für mich ungünstig, für jede Sequenz eine separate Projektdatei anzulegen, weil ich die Sequenzen auch in einem kontinuierlichen Zusammenhang sehen muss.

Ich habe herausgefunden, dass man in den Rendervoreinstellungen den ersten und den letzten Frame des Bereichs angeben kann, der gerendert wird. So habe ich es dann gemacht und den Job an den Rendermanager übergeben.
Wenn ich dann aber den nächsten Abschnitt durch Angabe des ersten und des letzten Frames dieses neuen Bereichs bestimme, übernimmt der Render Manager die Angabe nur, wenn ich diese in den Rendervoreinstellungen speichere.
Tue ich dies, dann wird aber auch für den bereits übergebenen Job die neue Bereichsangabe übernommen. D. h. es wird auf die eine, wie auf die andere Weise, beide Male nur der selbe Bereich gerendert.
Um dies zu umgehen, habe ich nun für jeden Render Job eine neue Version der gesamten C4D Animation gespeichert und jeweils einen anderen Renderbereich in jeder neuen Datei angegeben. Eine andere Lösung konnte ich nicht finden.

Zum einen halte ich meine Aufgabenstellung für nicht sehr ungewöhnlich und kann mir nicht vorstellen, dass es nur diese aufwändige Lösung dafür geben soll.
Womöglich ist die Lösung ja ganz banal?
Aber vielleicht habe ich auch einen grundsätzlichen Ansatz von Cinema 4D nicht verstanden und habe ganz falsche Vorstellungen?

Ich wäre Euch für jeden erleuchtenden Hinweis sehr dankbar.
 

horcon72

Aktives Mitglied

... und wenn Du, wie man es bei größeren Projekten grundsätzlich machen sollte, alles als Einzelbildsequenz rendern lässt, stellt sich dieses Problem nicht. Somit ist es auch nicht nötig, einzelne Renderjobs zu starten - Du startest einfach - stoppst, wenn es sein muss irgendwann - und startest später ab dem letzten Bild erneut.
 

MAXIMVS

Noch nicht viel geschrieben

Danke horcon72 für die umgehende Antwort!

So ungefähr habe ich das zunächst auch gemacht.
Um die 3.500 Frames zu rendern brauchte mein Rechner über 24 Stunden.
Danach habe ich aus der entstandenen durchlaufenden Sequenz die benötigten Teilabschnitte gezogen.

Mir erscheint das etwas umständlich, aber es geht noch, solange man auch tatsächlich die ganze Animation braucht.
Aber das ist ja nicht immer der Fall. Ich würde meinen, dass es gar nicht selten ist, dass man nur Teile aus einem Ablauf benötigt.

Richtig holprig wird es z. B., wenn ich jetzt sehe, dass die eine oder andere Sequenz noch etwas verändert werden muss.
In meinem Fall sind das jetzt 10 verschiedene Teile an unterschiedlichen Stellen.
Es geht dann meist um ca. 100 Frames, für die mein Rechner je eine gute halbe Stunde braucht. Da die Teile nicht alle direkt nacheinander kommen, müsste ich dann jeweils eine halbe Stunde darauf warten, dass ich den nächsten Job starten kann.

Besser (und irgendwie "normal") fände ich, wenn ich für alle Jobs gleich die unterschiedlichen Teilabschnitte angeben könnte, das Ganze direkt an den Rendermanager übergeben und den dann machen lassen könnte.

Das erreiche ich mit meinen Kenntnissen derzeit nur, indem ich für jeden Job eine neue Version meiner Gesamtdatei mit den entsprechenden Bereichsangaben abspeichere.
Dieses Vorgehen würde ich aber eher als Workaround statt als Workflow bezeichnen.
Was kann ich besser machen?

Danke für gute Ratschläge!
 

KBB

Mod 3D | Blaubaer

Teammitglied
Erstelle Dir eine Batchdatei wie in den alten DOS Zeiten. Oder meinetwegen dem MAC Äquivalent. In jede auszuführende Zeile schreibst Du den C4D.exe pfad, dann ein -nogui damit C4d nicht voll gestartet wird, was auch Speicher spart, gefolgt von -render, damit gerendert wird, den Dateinamen samt Pfad und dahinter ein -frame mit dem Bereich der gerendert werden soll. Und bitte meinen Link zur Hilfenutzung unten drunter beherzigen. Danke ;)

Hier der Auszug aus der Cinema Doku dazu:

-frame

Beispiel:
"c:\Programme\MAXON\CINEMA 4D\CINEMA 4D.exe" -nogui -render "c:\Szenen\hajopei.c4d" -frame 100 150 10

Dieser Befehl rendert von Bild 100 bis Bild 150 jedes 10. Bild von hajopei.c4d. Würden Sie die letzte 10 weglassen, würde jedes Bild zwischen 100 und 150 gerendert. Würden Sie 150 und 10 weglassen, würde nur Bild 100 gerendert.
 

MAXIMVS

Noch nicht viel geschrieben

Hallo KBB,

vielen Dank für die rasche Antwort mit neuen Tipps!

Habe es ausprobiert und es funktioniert.
Interessant auch, was die Hilfe noch so an Komandozeilenparametern vorschlägt.
Es ist schon auch etwas fummelig, aber im Moment löst es meine Aufgabe.
Danke!

Übrigens: Nicht, dass ich nicht auch schon die C4D Hilfe bemüht hätte. Aber zu den Begriffen, die mir dabei im Kopf rumschwebten, hat sich leider nichts passendes gefunden.
Es ist schön, dass ich hier Hilfe bekommen habe.
 

kraid

reMember

Also so wie ich das verstehe, hast du eine Szene animiert und fragst jetzt ob man bestimmte Teilabschnitte dieser Szene beim Rendern auslassen kann, wenn diese nicht benötigt werden.

Z.B. ein Ball hüpft die Treppe runter, du brauchst nur den Anfang wie der Ball auf die Treppe zurollt, die ersten paar stufen runterhüpft und dann erfolgt ein Schnitt auf das Treppenende wie der Ball dort ankommt und in den Raum springt.
Dazwischen liegen aber ein paar tausend Bilder die du auslassen möchtest da nur unnötig viel Renderzeit dafür verschwendet werden würde.

Du könntest z.B. mit dem Render-Manager arbeiten. Der ist unter anderem für sowas da.

Zuerst musst du dir jedoch deine Rendervoreinstellungen für die einzelnen Bereiche erstellen.

In den Rendervoreinstellungen kannst du links unten neue Voreinstellungen hinzufügen, umbennenen, kopieren und einfügen.
Also wenn du deine Settings alle eingestellt hast, definier den ersten Renderbereich z.B. 0-100 und nenn ihn doch z.B. Take01, dann kopierst du diesen fügst ihn ein und änderst die Startframe und Endframe werte und nennst das Take02.
Das wiederholst du bis alle Bereiche die du brauchst eine Voreinstellung haben.

Speichere die Datei und geh in den RenderManager.

Aktuelles Projekt hinzufügen läd die Datei.
Jetzt konfigurierst du die Ausgabepfade für die Dateien und das log file.
Dann wählst du Take01 als Rendervoreinstellung aus, bevor du den Dateieintrag im Rendermanager duplizierst und dem Duplikat die Take02 Rendervoreinstellung zuweist.
Dann immer so weiter.

Wenn alle Takes so definiert sind, solltest du erneut abspeichern, nur zur Sicherheit.
Dann kannst du den Rendervorgang starten.

Sollten Änderungen ein erneutes Rendering eines oder mehrerer Teilbereiche nötig machen, so kann man diese jederzeit bequem durch aktivieren oder deaktivieren einzelner Einträge auswählen.
 

MAXIMVS

Noch nicht viel geschrieben

Hallo kraid,

danke für diese gute und ausführliche Anleitung!
Sie erfasst gut worum es mir geht.
Ich habe es ausprobiert und finde diesen Weg wirklich sehr gut.

Es zeichnet sich jedenfalls ab, dass es ein paar gute Lösungen für die Aufgabe gibt, dass aber anscheinend die beschriebene Aufgabe, entgegen meiner Annahme, wohl doch so ungewöhnlich ist, dass keine unmittelbare Funktion dafür in Cinema 4D zur Verfügung gestellt wird, wie das z. B. in After Effects der Fall wäre, wo ich in der Zeitleiste einfach den gewünschten Bereich markiere und dieser dann nur mit einem Menübefehl direkt an den Renderer übergeben wird.
Weitere Bereiche können so markiert und entsprechende Jobs direkt an die Renderliste angehängt werden. Den Renderer lass ich dann laufen, wenn ich Pause mache.
Ich benutze das eigentlich oft und gerne und bin überrascht, dass Cinema 4D das anscheinend nicht so vorsieht.

Vielleicht erfordert Cinema 4D eine ganz andere Herangehensweise, als ich es mir vorgestellt habe.
Ich lerne ja noch

Grüße MAXIMVS
 
Zuletzt bearbeitet:

horcon72

Aktives Mitglied

Wenn Du derart viele Teilabschnitte der Animation nicht benötigst: Warum erstellst Du sie dann? Eine der wichtigsten Regeln bei der Arbeit mit 3D-Programmen lautet: Was nicht zu sehen sein wird, wird nicht erstellt. Sicherlich muss das eine oder andere "sicherheitshalber" dennoch gemacht werden - aber keine komplette Animation.

Sinn würde diese Vorgehensweise nur machen, wenn die Animation Simmulationen von Partikeln, physikalischen Simmulationen o.ä. enthält. Soll während einer Animation mal aus der einen, mal aus der anderen Perspektive die Szene dargestellt werden, dann arbeitet man mit mehreren Kameras und dem Stage-Objekt.
 

MAXIMVS

Noch nicht viel geschrieben

Hallo horcon72,

danke für diese Anregung. Ja, die Frage muss man sich sicher manchmal stellen.
In meinem Fall wird aber alles benötigt.

Mir wäre nur lieber, den ganzen Brocken in "Häppchen" zu rendern.
Er wird nachher auch in "Häppchen" gezeigt.
Aber es werden alle "Häppchen" gezeigt.
Dass ich nicht gleich einzelne C4D Dateien erstelle hat den Grund, dass ich beim Erstellen die Übergänge zwischen den Teilen sehen will.

Ein weiterer Grund, dass ich einige einzelne Teile aus dem großen Brocken brauche, war, dass ich einzelne Teile auch noch mal nachbearbeiten musste.
Auch dabei entstehen mehrere Jobs, die jeweils länger dauern und die ich deshalb gerne direkt dem Rendermanager übergeben hätte.

Die Lösungsvorschläge hier haben mir dabei sehr geholfen.
Vielen Dank.

Ich habe, glaube ich, nicht verstanden, was eine physikalische Simulation zur Ausnahme von Deinem o. g. Vorschlag macht (möglicherweise hat mein Projekt Ähnlichkeit mit einer physikalischen Simulation) und was die Verwendung von mehreren Kameras und dem Stage Objekt zur Folge hätte. Ich verwende zwar hier nur eine Perspektive, aber Deine Idee würde mich interessieren.

Viele Grüße
MAXIMVS
 

horcon72

Aktives Mitglied

Wenn der schon mal angesprochene Ball auf die erste Stufe prallt, von dort auf die zweite und so weiter und so fort, dann muss die Simmulation tatsächlich auch bis zum Schluss durchlaufen, um das richtige Ergebnis zu haben. Alternativ könnte man das faken, indem man den Ball für das zweite Rendering auf die vorletzte oder letzte Stufe prallen lässt und von dort aus das ganze fortführt.

Bei Partikel-Effekten ist es sogar quasi-pflicht, da sonst die Partiekel nicht dort wären, wo sie hingehören.
 

kraid

reMember

Wenn eine Simmulation gebacken ist, gibt es sicher auch noch Möglichkeiten diese weiter zu bearbeiten, Teile zu kürzen, anders anzuordnen usw. aber da ist der Aufwand gegenüber dem Rendern der benötigten Teilabschnitte höher, so das es sich selten lohnt dies zu tun.
 

KBB

Mod 3D | Blaubaer

Teammitglied
Ich habe, glaube ich, nicht verstanden, was eine physikalische Simulation zur Ausnahme von Deinem o. g. Vorschlag macht (möglicherweise hat mein Projekt Ähnlichkeit mit einer physikalischen Simulation)
Es wäre interessant zu hören, was Du überhaupt machst. Dann ist es bisweilen sehr viel einfacher für uns zu helfen ;)

Wie horcon schon sagte, kann man manche Simulationen nicht gut unterbrechen. Zur Verdeutlichung seiner Aussage zu den Partikeln: Stell Dir vor, Du simulierst eine Wasserwoge die zwischen Kanalwänden entlang wogt und dann eine Stufe hinabsprudelt. Dabei reißt sie z.B. ein paar Gegenstände mit.
Dazu braucht man eine bestimmte Menge Wasser Hindernisse (Wände, Stufe) und einen Impuls und eine Richtung, in der dieser geht. Jetzt berechnet die Simulation die beschriebene Szene. Die kann man mit heutigen Mitteln aber nicht einfach irgendwo in der Mitte neu ansetzen wenn die Bewegungsfolge einigermaßen logisch sein soll, nur weil man hier und da bestimmte Abschnitte nicht braucht. Ist der Zeitabstand zwischen zwei Szenen jedoch groß und das Setup einfach genug, kann man mehrere Szene dazu aufbauen.
Ähnliche Sache, der Einsturz eines Gebäudes. Es ist schwierig, die Simulation des Zusammenbruchs irgendwo in der Mitte ansetzen zu lassen, wo schon alles in der Bewegung ist.

Es gäbe noch zig weitere Möglichkeiten in der Richtung. Ich vermute aber, dass Du keine Simulation fährst, sonst würde Dir der Begriff schon etwas sagen. Von daher ist die Vermutung erst einmal nahe liegend, dass Deine Szene auch in Abschnitten aufbaubar ist. So wie es ist, bleibt es aber eine Vermutung ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben