HOME Lernen 3D Autodesk Maya

Rendern von Instanzen mit mental ray

 
 
LinkBack Themen-Tools Thema durchsuchen
Alt 16.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
Rendern von Instanzen mit mental ray

Ich hab hier ne Szene mit nem gebevelten Würfel. Und von dem hab ich etwa 8000 Instanzen gemacht.
Das einzige was an dem Ganzen jetzt "unnormal" ist: Jede Instanz hat ein anderes Material, bzw Shading Group. Allerdings haben alle Materialien die selben Input Nodes.

Wenn ich das ganze nun rendern will, kommt Maya nur bis zu "Translating Frame...". Ich gehe ja mal davon aus, dass Maya nicht hängt, sondern tatsächlich noch etwas macht, aber nach 20 Minuten hab ich die Sache dann doch abgebrochen.

Dupliziere ich dagegen nur den Würfel, oder erstelle halt einfach 8000xden Würfel mit den selben Commands, funktioniert alles prima.
Nach etwa 1 Minute "Translating Frame..." fängt mental ray dann an zu rendern.

Ich kenn mich aber ehrlich gesagt auch nicht 100%ig mit Instanzen aus, bzw. ob Instanzen in Maya in mental ray auch noch Instanzen sind, oder alles in Geometrie umgewandelt wird. Aber selbst das würde wohl den enormen Zeitaufwand nicht erklären.

Und deswegen brauche ich dazu mal euren Rat.
Oder gibts noch irgendwelche mental ray nodes die ich erstellen kann, damit sich die Instanzen wie Instanzen verhalten?
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 16.02.2010   #2

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Ich kenn das Problem. Da ich bisher aber noch nie mit so vielen Instanzen gearbeitet habe, war die höhere "Translation"-Time immer akzeptabel und ich habe mich nie wirklich um die Lösung des Problems bemüht.

Da müsste ich selber mal schauen. Angeblich soll es MR-kompatible Instanzen geben. Es kann aber sein, dass dies nur mit MR-Standalone möglich war. Das ist aber auch schon wieder eine Weile her und vielleicht hat sich da bereits mehr getan?

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 16.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
Also bisher hab ich noch nichts gefunden.
Es gibt zwar diese mib_geo_instance node, aber weiß der Geier wie die funktioniert oder ob die überhaupt das richtige wäre.
Mit diesen mental ray geometry shadern hatte ich mich noch nie auseinandergesetzt.

Aber jemand bei cgtalk sagt mir, dass instanzen an und für sich recht flott zu übersetzen gehen. Wenn allerdings verschiedene shader auf die DAG nodes - und damit eben auch meine Würfel - treffen, gibts Probleme.

Das Hauptproblem ist, dass ich doch einige Testrenderings machen muss.
Ich ändere per Script einige attribute meiner Shader - geht im Endeffekt schneller als über das Attribe Spread Sheet, aber dauert bei 8000 materialien trotzdem recht lang.

Aber dann noch die lange Zeit bis mr rendert... das geht irgendwann auf die Geduld. Ich dachte mit Instanzen gehts schneller - aber wohl doch nicht.

Ich versuch nun mal aus den 8000 Würfeln ein einzelnes Mesh zu machen. Vielleicht gehts ja auf diesen Weg
Die einzelnen Shells bleiben ja erhalten.
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 18.02.2010   #4

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Ich habe mir das "mib_geo_instance"-Node mal angeschaut. Irgendwie komme ich damit auch nicht zurecht. Scheint noch ein wenig buggy zu sein.

Ich kann leider die ungewöhnlich hohen "translating"-Zeiten bei Instances auch ohne verschiedene Shader reproduzieren (Default Lambert). Ein paar Recherchen zufolge, scheint dies ein bekannter Bug zu sein, um dessen Behebung sich scheinbar noch niemand bemüht hat.

Vielleicht kann man mithilfe von pre/post-render-MEL-Scripts versuchen die Instancer in normale Geometrie und wieder zurück zu konvertieren. Dies wird sicherlich auch einiges an Zeit kosten, aber vielleicht geht es schneller als mit dem Übersetzer von MentalRay?

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 18.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
Ich habs jetzt mittlerweile auch ohne Instanzen gelöst.
Die Würfel hab ich übers script ganz normal erstellt und gemappt mit ausgeschalteter construction history. Dadurch bleibt das ganze auch noch recht schlank und schnell.
Da die vielen Materialen hauptsächlich durch verschiedene Farben zustande kamen, hab ich da auch nach ner Alternative gesucht.
Gefunden hab ich die dann in der samplerinfo node. Da kann ich mit multiplyDivide, plusMinusAverage, nen RampShader und nochn paar anderen Nodes auch das gewünschte Ergebnis erzielen.
Und mr legt wenigstens gleich mit dem Rendern los
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 18.02.2010   #6

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Ich weiß ja nicht was Du genau gemacht hast, aber die "Switch Utilities" sind ebenfalls sehr nützlich für derartige Shading-Aufgaben.

Peter
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Alt 18.02.2010   #7

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
Jupp, aber die Farbe der Würfel ist positionsbezogen.
Von daher bietet es sich an, samplerInfo.pointWorld "auszulesen" und daraus die entsprechende Farbe zu berechnen, was bei mir in etwa in HSV werten entspräche:
Code:
<< (x*0.9)+(y*0.09)+(z*0.009), 0.9, 0.9 >>
(x,y,z auf Werte zwischen 0 und 1 normalisiert)

Denke mal, da ist samplerInfo das Tool erster Wahl.
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 23.02.2010   #8

35 Millipeter

 
Benutzerbild von Pittiplatsch
 
Mitglied seit: 21.04.2007
Beiträge: 1.368
Pittiplatsch eine Nachricht über Skype™ schicken
Das hört sich erstmal sehr vernünftig an.
Pittiplatsch ist offline  
- Heute schon gep*otosh**pe*? -
Themen-Tools Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Ähnliche Themen
Thema Themenstarter Forum Antworten Letzte Beiträge
Bilder rendern Vertice Pixologic ZBrush 4 23.10.2009 12:43
.avi rendern Kameramann Autodesk Maya 12 14.05.2009 19:22
mental images: Cell-basierter mental ray angekündigt pixi Aktuelles 0 13.08.2007 10:30
mental images: Mental Ray 3.6 Shaders pixi Aktuelles 1 11.08.2007 13:10
Wireframe rendern? hox Autodesk Maya 4 10.05.2007 00:30