HOME Lernen 3D Autodesk Maya

2D Motion Vector hinter Glas

 
 
LinkBack Themen-Tools Thema durchsuchen
Alt 27.02.2010   #1

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
2D Motion Vector hinter Glas

Gibts ne Möglichkeit, nen 2D Motion Vector Pass zu erstellen, der ein Objekt hinter einem anderen Glas-Objekt richtig "erfasst"?

Das Problem bei nem normalen 2D Motion Vector Pass in mental ray ist, dass ich dann nur den Motion Vector für das Glas-Objekt habe, das Objekt hinter dem Glas hat keines. Folglich kann ich in Fusion kein richtiges Vector Motion Blur für das Objekt hinter dem Glas erstellen.

Ich könnte zwar nen separaten Pass erstellen und das Glas ausblenden, aber dann hab ich logischerweise nicht die Verzerrung des Objektes die durch das Glas entsteht.

Meine alternative wäre bisher halt das Motion Blur direkt mit mental ray zu machen, aber das würde die Renderzeit sprengen und ist bei 400 Frames nicht vertretbar.
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Alt 27.02.2010   #2

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Auf derartige Probleme stößt man leider immer wieder. Mir ist leider derzeit nicht bekannt, wie man Transparenz-Informationen entsprechend verarbeitet - was nicht heißen soll, dass es sie nicht gibt.

Das einzige was man sich diesbezüglich mal anschauen sollte, wären die neuen Contribution Maps ab Maya 2009. Ich habe noch nie damit gearbeitet, aber ich glaube die waren gedacht, um auf solche Probleme eingehen zu können.

Ansonsten würde ich versuchen ohne Glas-Objekt die Vektoren zu rendern und die Refraction entsprechend im Compositing wiederherzustellen. Entweder "per Augenmaß" oder per Refraction Map/Pass (hab das noch nie gemacht, hab nur mal flüchtig was darüber gelesen). Letzteres würde mich natürlich brennend interessieren.

Ich gehe mal davon aus, dass Du mit dem "mip_motion_vector"-Output-Shader arbeitest? In Maya 2008 war der leider noch sehr buggy, keine Ahnung wie das er sich in neueren Versionen verhält. Kann man die Motion Vectors inzwischen so konfigurieren, dass sie mit dem Fusion "VectorMotionBlur"-Node zu 100% kompatibel sind?

Halt uns mal bitte auf dem Laufenden.

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 27.02.2010   #3

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
Ich versuchs im Moment mit dem multi pass rendering aus Maya 2010, der 2D Motion Vector Pass ist zwar eigentlich für Toxik, aber in Fusion scheinbar gut brauchbar.
Durch die stark gefallenen Upgrade Preise ist nen Update auf Maya 2010 ja schon durchaus lohnenswert.
Ne schöne neuerung ist ja auch schon das Progressive Rendering von mental ray. Spart bei Previews jede Menge Zeit.

Aber jedenfalls werd ich wohl mal nochn paar Tests machen. Evtl. krieg ich noch ne brauchbare Lösung. Im schlimmsten Fall mach ich das halt ohne Glas. So stark dürfe die Verzerrung ja hoffentlich nicht ausfallen.
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Alt 27.02.2010   #4

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Wie wird denn bei dem Pass "Stillstand" kodiert? Schwarz?
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 27.02.2010   #5

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
Müsste ich mal austesten, da ich bei der Szene die Kamera bewege, hab ich nicht wirklich schwarz.
Bzw. ich speichere alles als 32bit float OpenEXR und hab bei den Vektoren auch negative Werte.
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Alt 27.02.2010   #6

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
Hab jetzt auch nochn Problem festgestellt
Und zwar hat mein Realflow Mesh keine Motion Vektoren. So langsam gestaltet sich die Sache etwas kompliziert *kopfkratz*.
Bisher hab ich die aber auch noch nicht gebraucht, da ich bei nem Still problemlos in etwas extra Renderzeit investieren kann mit nem mental ray motion blur.
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Alt 27.02.2010   #7

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Puh! Wie wird denn Dein Realflow Mesh innerhalb Maya erzeugt? Über Maya-Particles und BlobbySurface-Rendering oder über richtige Meshes die via GeometryCache animiert werden?

Ich weiß nicht genau, wie die Motion Vectors mit dem neuen Rendersystem ermittelt werden. Ich gehe mal vom klassischen Weg aus und das macht bei Simulationsmaterial öfter mal Schwierigkeiten. In zwar wertet Mental Ray die Subframes aus. Oftmals hat man in diesen Framebereichen aber keine Informationen für Particles, Geometry etc. vorliegen. Entweder man erstellt einen Cache, der auch genau in die von MentalRay "angesprungen" Subframes Informationen ablegt oder man stellt MentalRay so ein, dass nur volle Frames ausgewertet werden. Letzteres sorgt leider dann logischerweise dafür, dass der MotionVector-Pass nicht besonders akkurat ist. Auch der Ansatz über den erweiterten Cache funktioniert leider nicht immer reibungslos. Gerade das alte Partikel-System von Maya und seine Cache-Verwaltung waren nicht unbedingt sorgenfrei.

Alternativ gibt es immer noch die Möglichkeit die Bewegungsunschärfe ohne MotionVectors direkt im Compositing zu erzeugen. Dabei wird das 2D-Footage direkt ausgewertet bzw. getrackt und anhand der Pixelbewegung die Bewegungsrichtung ermittelt. Dies ist natürlich immer nur ein Kompromiss, aber in vielen Fällen klappt dies erstaunlich gut.

Mir sind zwei Produkte, die es als Plugins für verschiedene Compositing-Programme gibt, bekannt bzw. kann ich empfehlen:

Reelsmart
Furnace

Furnace (F_Kronos bzw. F_MotionBlur) soll noch ein tick besser sein als Reelsmart, aber im Grunde funktionieren beide Lösungen recht ähnlich.

Wenn Du bei MotionVectors bleiben willst, dann müsste man erstmal rausbekommen was Realflow da genau macht und wie man dies beeinflussen kann. Leider fehlt mir bezüglich Realflow es etwas an Erfahrung.

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 27.02.2010   #8

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
RSMB kenn ich, da hab ich vor geraumer Zeit mir schonmal die Demo angesehen. Furnace ist mir allerdings noch kein Begriff.

Tatsächlich verwende ich direkt nen Real Flow Mesh, Maya Particles mit ner BlobbySurface sind mir etwas zu ungenau, vorallem da das Mesh nen bestimmten Bereich nicht übertreten darf, also an ein bestimmtes Volume gebunden ist. Und da bietet mir der Mesher von Realflow akuratere Lösungen.

Aber Motion Vektoren scheint mir mr gar keine auszugeben, da gibt der Geo Cache vielleicht gar nichts her. Aber da wundert mich es doch, dass ich direkt in mr nen Motion Blur kriege.

Ich hab mir überlegt in Fusion einfach die Trails Node zu nehmen. Die reicht mir evtl. schon aus und sollte unter den gegebenen Umständen auch brauchbare Ergebnisse erzielen. Extra deswegen nen PlugIn kaufen, da weiß ich nicht ob sich das lohnt. Da müsste dann schon mehr für die Zukunft geplant sein wo ich auf ähnliche Probleme stoße.

Ich habe mir auch schon überlegt einfach nen zweiten Pass mit Maya Particles und ner BlobbySurface zu erstellen und dort die Motion Vectors zu extrahieren. Aber scheinbar liegen auch da keine Vektoren vor. Zumindest von der Logik her. Wenn ich den Partikel-Typ auf Streaks stelle, werden keine angezeigt. Und das legt eben nahe, dass auch da keine Vektoren zur Verfügung stehen.

Im schlimmsten Fall verzichte ich eben auf Motion Blur. Sollte auch so schick aussehen. Dann kann ichs morgen rendern lassen und es gibt von mir bald ne kurze Animation zu sehen.
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Alt 28.02.2010   #9

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Sind die Realflow-Meshes richtige Maya-Meshes oder sind es spezielle Realflow-Nodes? Wenn ja, dann kann das sein, dass vielleicht der MR-Translator irgendwas nicht mitgeliefert bekommt. Normalerweise sollten Geometry-Caches oder ähnliche Konstrukte keine Probleme diesbezüglich machen. Alle Attribute von dem Realflow-Mesh-Node mal gecheckt? Ändert sich denn was am Mesh, wenn Du renderst und MR in der Timeline springt?

Mit Instancern auf den Particles sollte man auf jeden Fall MotionVectors bekommen, dass habe ich schon gemacht. Bei allen anderen Particle-Render-Types bin ich mir nicht sicher, da hatte MR sowieso oftmals Probleme (angeblich soll es ja nun alle Typs unterstützen, aber wer weiß). Allerdings eben mit dem "mip_motion_vector"-OutputShader. Vielleicht solltest Du diesen Shader anstelle der neueren Renderpasses mal ausprobieren. Was sicherheitshalber auch nochmal probiert werden kann, die Sprungweite so einzustellen, dass nur ganze Frames ausgewählt werden.

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 28.02.2010   #10

void main(){fork(main())}

 
Benutzerbild von Hellstorm
 
Mitglied seit: 31.03.2008
Beiträge: 835
Hellstorm eine Nachricht über ICQ schicken Hellstorm eine Nachricht über MSN schicken Hellstorm eine Nachricht über Yahoo! schicken
Ich test mal den mip_motion_vector aus.
Scheint nur in Maya 2010 etwas schwierig zu sein, da viel geändert wurde, vorallem betreffend der Output Shaders
Hellstorm ist offline  
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." [Albert Einstein]
Themen-Tools Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Ähnliche Themen
Thema Themenstarter Forum Antworten Letzte Beiträge
Glas mit Muster modellieren denon100 Nevercenter Silo 11 29.08.2009 23:34
Bluesky: 'Horton hört ein Hu' - Hinter den Kulissen pixi Aktuelles 24 07.08.2008 12:10
Pixar: 'WALL-E' - Hinter den Kulissen (Video) pixi Aktuelles 2 14.06.2008 18:59
Hasbro: 'Transformers: The Game' - Hinter den Kulissen pixi Aktuelles 0 03.07.2007 12:50
Blur: 'Transformers - The Game' - Hinter den Kulissen pixi Aktuelles 2 23.06.2007 23:10