nachdem ich ein Renderfarm-Disaster hinter mir habe möchte ich gerne eine Grundsatz-Diskussion zum o.g. Titel starten.
Gehen wir davon aus: ich möchte Polygonobjekte als Partikel rendern. Formen wie “Kugel” oder “Würfel” reichen nicht aus - es müssen definierte Formen mit entsprechender Textur sein. Da sich diese Objekte auf wilden Bahnen bewegen und sich in den übrigen Szenenobjekten spiegeln sollen und korrekt Schatten werfen etc., kommt zum Einen kein Vektor Motion Blur in der Post in Frage, zum Anderen “lohnt” sich ein separates Rendering von Szenenobjekten und Partikelobjekten nicht.
Als konkretes Szenario stellt euch eine Edelstahltrommel (wie in einer Waschmaschine o.ä.) vor, in welche Partikel einfliegen und herumgewirbelt werden sollen. Partikelgeometrie ist erkennbar, Spiegelungen, Schatten, alles soll zueinander passen. Wie bekomme ich eine solche Szene mit 3D-Motionblur auf einer Farm gerendert? Meiner Erfahrung nach ist ein korrektes MB mit gebackenen Partikelsequenzen nicht möglich - zumindest verliefen meine Tests erfolglos.
Hattet ihr schon ähnliche Anforderungen? Wie habt ihr das gelöst?
Nein, ich weiss leider tatsächlich nicht, wie das so in Cinema/dem PR ist und mit den Partikeln, leider weiss ich auch nicht was Partikel/Alembic Caches aus Cinema so alles mitspeichern würden. Normalerweise haben die immer einen Velocity Kanal / eine Velocity Vertex Map dabei welche der Renderer benutzt um korrekt zu blurren (manchmal auch auf subframes, zumeist nur framegenau).
Aber normalerweise wird sowas zumeist full motion blur gerendert (gerade für sowas ist der ja auch gedacht, weils da halt in der Post nicht sinnig ist…). Man muss manchmal ein bisschen hampeln bis das klappt, aber solange die Partikel/die Geometrie die Velocity speichern können viele renderer das auslesen.
Na, gerendert hab’ ich bereits mit Arnold und würde auch in Zukunft Arnold bevorzugen. Aber sobald eine Partikelsimulation gebacken ist, ist feierabend mit Motionblur. Ein Vector Motion Pass speichert doch auch “nur” eine Richtung und kann keine Kurve beschreiben, oder? Wie würdest du “full motion blur” mit Maya und Arnold auf einer Farm rendern? Partikel backen und alles ist gut?
Edit: grundsätzlich funktioniert das Rendern mit Partikeln und Arnold auch ohne Backen auch auf der Farm. Nur ist der jeweils erste Frame eines Clients nicht korrekt, die nachfolgenden stimmen dann (das kann man lokal mit 1 Rechner nachvollziehen). Wenn dann über hundert Nodes rendern, dann gibt es eine Menge an Frames, die lokal nachgerendert werden müssen.
Mit welchem Partikelsystem arbeitest Du denn? Für Xparticles gibt es ja eine Anleitung, ich weiß nur nicht, inwieweit sowas auch mit Arnold funktioniert.
danke für den Link. Ich verwende X-Particles und das Backen war mir auch geläufig. Allerdings wundert es mich, dass im Video der Cache vom xpGenerator entfernt wird. Das werde ich gleich mal testen!
Es muss aber hier erwähnt werden, dass es mit dem xpGenerator ein Problem gibt, sobald eine Partikelanimation nicht von Anfang an berechnet wird (und das ist immer der Fall, wenn eine Farm die Bildsequenzen rendert). Render ich beispielsweise ab Bild 750, so ist in diesem ersten gerenderten Frame die Zuordnung der Geometrie über den xpGenerator nicht korrekt. Das fällt natürlich erst auf, sobald man mehrere unterschiedliche Objekte generieren läßt. In Frame 750 wären die generierten Objekte abweichend von den (korrekten) Frames 751, 752, usw. … Das habe ich heute schon im XParticles Supportforum gepostet.
So, hab’ mal schnell meine Testsequenz mit gecacheten Partikeln gerendert. Es ist tatsächlich so, dass der Cache vom xpGenerator entfernt werden muss, damit Motionblur im Physical Renderer funktioniert. ABER: es bleibt das xpGenerator-Problem bestehen. Achtet bitte mal auf die sechs rechten Objekte:
Im ersten Bild scheint alles ok.
Im zweiten Bild werden Objekte ohne MB gerendert.
Im dritten Bild werden Objekte vertauscht.
Ich denke das demonstriert das Generator-Problem in XP ganz gut. Zudem ist zu erkennen, dass obwohl “sequenzielle” Generierung von Objekten eingestellt wird, die Sequenz durcheinander kommt (es müsste eigentlich immer Objekt 1, 2, 3, 1, 2, 3, 1, 2, 3 … generiert werden). Beispielsweise sind zwei grüne Würfel hintereinander nicht korrekt.
Beim Rendern mit Arnold treten dadurch ebenfalls seltsame Dinge auf, aber dazu später mehr, sobald ich mal Infos von INSYDIUM zum xpGenerator-Problem habe. Dieses Vertauschen von Partikel-Geometrie tritt übrigens in allen von mir getesteten Renderern auf: Standard, Physical, Arnold, Vray, Hardware.
Geht es von der Partikelanzahl in Deiner Szene, daß Du die XP Animation als Alembic backst und dann neu importierst oder gehen dann die Velocity Daten verloren?
Alembic oder andere Formate (auch gebackene MoGraph Cloner) kommen wegen der zu großen Dateigröße nicht in Frage. Ich kann nicht mehrere Dateien mit vielen (!) GB Dateigröße auf die Farm hochladen.
Ehrlich gesagt ja. Probleme gibts natürlich auch immer hin und wieder und motionblur ist immer ein guter Kandidat dafür, aber wenn alles richtig gesetuppt ist, funktioniert das eigentlich. Leider kann ich halt wenig dazu sagen was bei dir passiert, da das ganze halt einfach sehr c4d/Plugin abhängig ist, und was cinema für arnold an informationen bereitstellt und wie ist halt im endeffekt Cinemas Sache. Grundsätzlich hat Arnold da aber als Renderer keine Probleme mit mblur. Ich würd dir gerne mal n Test machen, aber nur mit der Cinema Demo gibts da leider nicht viel was ich testen könnte. Vielleicht hat aber jemand anderes einen weisen Rat. Die vertauschte Geometrie scheint mir eher ein xParticles, als wirklich renderer Problem zu sein, da es ja auf allen Plattformen gleich ist.
Ja, das Rendern in Arnold mit Motion Blur klappt eigentlich ganz prima. Wenn da nicht die Fehler mit dem xpGenerator aufgetreten wären. Im Produktionsstress hatte ich dann für die Generierung der Partikelgeometrie auf den Arnold Parameter Tag gewechselt und quasi in Arnold die Partikelgeometrie bestimmt. Nachteil: man kann nur 1 Object als Quelle definieren. In meinem speziellen Fall war das zu verkraften, aber es sind dann auch mit dieser Methode falsche Frames auf der Farm gerendert worden. Allerdings konnte ich die kaputten Frames problemlos lokal nachrendern und alles passte perfekt zusammen, aber da war ich neun Stunden damit beschäftigt. Für kommende Jobs brauch ich unbedingt eine funktionierende Lösung. Dabei möchte ich weder auf Arnold noch auf X-Particles verzichten.
Wäre in dem Fall nicht das kleinere Übel, bei Xparticles 3 Emitter mit jeweils einem xpGenerator zu nehmen, der nur eine Geometrie zuweist, als bei einem Emitter über einen Generator 3 verschiedene Geometrien zuweisen zu lassen?