Schlagwort-Archive: Dynamics

Naiad Test – Venice Tsunami Wave

Das wollt ich schon lange machen …

Schon seit über einem Jahr hab ich die Idee im Kopf mal eine richtig große Welle durch einen Kanal in Venedig laufen zu lassen. Eigentlich wollt ich dazu RealFlow’s Hybrido benutzen, aber in meine Naiad Tests past es auch ganz gut, oder? Irgendwann zwischendurch hatte ich schon mal angefangen ein paar venizianische Häuser zu bauen, vier von sieben sind damals fertig geworden. Die hab ich mir geschnappt und nochmal neu angeordnet und so war das Set schnell fertig.

Mein Laptop an der Leistungsgrenze

Momentan lass ich Naiad auf meinem Laptop laufen und bei der Größenordnung der Szene wurde schnell klar das 4GB Arbeitsspeicher nicht wirklich ausreichen. Man stellt schnell fest das wenn der RAM vollläuft die Simulationszeit für einen Frame extrem in die Höhe schießt (aus 4min wurden 50min). So musste ich die Gridauflösung doch ganz schön runter nehmen und auch beim Meshen war dann nicht mehr viel rauszuholen. Trotzdem finde ich, es vermittelt einen guten Eindruck der Bewegung und Geschwindigkeit … Vieleicht lasse ich es dann nochmal auf meiner Workstation durchlaufen.

Naiad Test – Classic ship

The Golden Hind at full speed (8 knots)

Als zweiten kleinen Naiad Test wollte ich mich an etwas ganz normalem versuchen. Ein Schiff das durchs Wasser gleitet ist so ein Fall – in dieser einfachen Situation stecken schon viele Arbeitsschritte drin. Ein schönes Schiff war schnell organisiert und soweit gecleaned das man es als Colisionsobjekt verwenden kann. Die ganze Sache sollte natürlich in der richtigen Skallierung laufen und so habe ich mir ausgerechnet das die max. Geschindigkeit der Goldenen Hinde etwa 4 m/s entspricht. Damit habe ich mir in 3ds Max eine Animation erstellt in der das Schiff ca. 50m zurücklegt. Mit ein paar smoothen Noise-Controlern kam noch ein angenehmes schwanken drüber und fertig.

Da es für 3ds Max noch keinen Exporter für das emp-Format gibt muste ich mir was überlegen. Ich entschied mich für einen kleinen Umweg über Maya. Es ist eigentlich recht simpel wenn man’s raus hat … in Max baut man alles auf 1 Unit = 1m, das exportiert man per FBX nach Maya, dort nutzt man den Naiad-Buddy um die emp-Sequenz zu schreiben und in Naiad importiert man alles mit einer Einheitenkonvertierung von Centimerter entspricht Meter …

Just try it!

Den Naiad-Graph für die Particle-Liquid-Simulation hatte ich ja recht schnell zusammen gesteckt, aber der Teufel liegt wie so oft in unschienbaren Werten. Als Basis hab ich mir einen Pool (75m x 25m x 3m) mit ca. 6 Mio. Partickeln erstellt in den das Schiff hineinfährt. In meiner ersten Sim fiehlen mir vor allem die blockhaften Collisionen mit dem Schiff auf, als nächstes musst ich irgendwie das heftige Spritzen des Fluids unterdrücken und dann hatte ich noch ein paar Probleme mit entweichenden Partickeln die das Voxelgrid unötig aufgeblasen haben. Das waren alles soche Fehler die mir nicht nochmal passieren, also hat sich der Test schon gelohnt.

Die Splash-Sinulation lief wieder sehr gut, den Graph habe ich im Gegensatz zum Wasserfall etwas abgeändert und so funktioniert der Foam-Effekt nun viel besser. Ich hätte es eigentlich gern nochmal mit einem längerem Lifespan durchlaufen lassen, aber es muss auch mal gut sein. Dann habe ich noch das Naiad-Ocean-Toolkit probiert, dass ziehmlich gute Wasserwellen auf ein fertiges Mesh displaced, hier muss ich sagen das es unglaublich schnell lief im Gegensatz zu den vorangegangenen Simulatioen.

Naiad Test – Waterfall

Naiad ist ein relativ neuer Fluidsolver der beeindruckende Ergebnisse erziehlt. Deshalb kam dieses Simulationtool nun auch schon in vielen Bockbustern zum Einsatz (Avatar, X-Men: First Class um nur zwei zu nennen). Das ganze System ist voxelbasiert, ähnlich wie der Hybrido-Solver in RealFlow und ist somit vor allem bei Large-Scale-Simulationen eine gute Wahl. Das Userinterface ist ein auf Nodes basierendes System und recht übersichtlich. Die Simulationsdaten speichert Naiad im eigenen .emp-Format, weleches eine sehr effektive Komprimierung beinhaltet. Alles in allem haben mich die im Internet kreisenden Videos überzeugt und ich wollte es einfach mal selbst ausprobieren …

Naiad von Exotic Matter ››

Als erstes mal ein kleiner Wasserfall

Natürlich habe ich auch erstmal das Naiad 101 Tutorial gemacht, aber nun wollte ich gleich mit einer richtigen Beispielszene starten um so viele Arbeitsschritte und Einstellungen wie möglich zu testen. Als erstes muste ich herausfinden in welchen Einheiten Naiad arbeitet und wie groß meine Objekte werden müssen, damit sie 1 : 1 in Naiad anzukommen. Nachdem ich das hatte baute ich mir das Stückchen Flussbett und nutzte erstmal den Obj-Improt. Die Fluidsimulation ist relativ standard, aber ich habe schon mehrere Test gemacht um ein paar Werte des Particle-Liquids kennenzulernen. Die Partikel zu meshen ist in Naiad wirklich einfach und schnell, dass war also kein Problem. Bei den Splash-Particles hatte ich am Anfang einen falschen Node im Graph und so waren sie ziehmlich langsam und sahen irgendwie komisch aus, aber nachdem ich den Fehler entdeckt hatte lief alles wunderbar.

Ich mach sicher noch ein paar Tests solange meine Trail-Version noch läuft …

Akropolis – Characters and Cloth

Leute – das sind nur Backgroundchars

Das will ich diesem Post mal vorran stellen. Ich wollte Leben auf der Akropolis und natürlich auch mal wieder etwas mit Charakteren machen. Mehr so einen Workflow der auf Schnelligkeit aus ist. Riggen mit Biped, Skinnen mit Envelops, Laden und bearbeiten von Motioncapture-Daten, die passende Clothsimulation drüber und fertig. Klingt ja eigentlich ganz einfach – ist es auch irgendwie und so habe ich insgesamt 7 Charaktere für Akropolis gemacht.

Zwei alte Bekannte

Charaktere zu modeln dauert ja immer, deshalb hab ich hier meine alten Chars Natalie und Igor recycled, die waren soweit fertig texturiert und für die Frauen fehlten nur noch ein paar unterschiedliche Frisuren. Die Rigg’s und das Skinning hab ich neu aufgesetzt, aber alles recht einfach gehalten. Diese Grundmodelle kann man ja dann duplizieren und verschieden ankleiden und ausstatten, so entstehen dann relativ einzigartige Figuren.

Animation and Cloth

Für die Animationen habe ich als Grundlage ein paar MotionCapture-Daten verwendet. Die lagen als bhv-Dateien vor. Wenn man die auf ein Biped läd sieht das erstmal ziehmlich zerschossen aus. Der Trick ist, dass Ganze so wie’s ist nochmal als .bip zu speichern und dann auf den gewünschten Char anzuwenden. Meistens sind in den rohen MoCap’s einige Fehler drin – diese kann man auch mit Max cleanen indem man die Key’s reduziert. Wenn ich das hab mach ich noch etwas Feintunig über Animation-Layers.

Für die antike Kleidung hab ich mir Referenzen gesucht und danach die verschiedenen Kleidungsstücke modelliert (meistens modellier ich die Kleidung per Hand und nutze nicht die Garmet-Maker-Funktion, das geht auch ganz gut). Die Simulation selbst ist nicht sonderlich detalliert, aber dafür stabil. Wichtig war mir die saubere Interaktion der Kleidungsstücke untereinander, durchdringen darf sich natürlich auch nichts. Als kleinen Test habe ich hier auch mal Armreifen, die Halskette und die Gürtel mit Cloth gelöst, dass geht besser als gedacht.

Akropolis – PDI RigidBody’s

Wenn Zeus Blitze schleudert …

In dem Clip stecken zwei Pdi simulationen. Nach dem ersten Aufblitzen dreht sich die Kamera und man sieht wie das Gebäude im Hintergrund zum Teil in sich zusammen fällt. Der zweite Blitz trift eine der Säulen am Eingang der Akropolis und schleudert große Bruchstücke gegen die dahinterliegende Säule, so dass auch diese zerbricht. Nachdem der Halt durch die Säulen fehlt fällt noch ein ganzes Stück der Dachkonstruktion mit nach unten und zerbricht die Säulen in noch kleinere Stücke.

Nach dem die Modelierung und Texturierung des Sets abgeschlossen ist, kopiere ich mir die für eine Simulation notwendigen Objekte in eine neue Datei und arbeite dann dort an dem Facturing und der Physiksimulation. Ich find das sehr praktisch, da so die Max-Szene wieder kleiner wird. Hier erstelle ich dann die notwendigen Low-Poly Kollisionsobjekte und optimiere die Einstellungen in PullDownIt spezifisch für diese Situatuation und den gewählten Kamerawinkel. Nach dem alle grundlegende Eigenschaften wie das “Bounding Volume”, “Passive or Cached” und die Fractur Bodys deklariert sind erstellt Pdi ja bereits mit den default Werten eine gute Animation. Mit weiterem Feintuning lässt sich aber noch vieles verbessern. So stelle ich bei besonders großen Bruchstücken auch größere Massen ein und erhöhe auch etwas die Reibung der Collisionsobjekte um das Rutschen der Steine zu unterdrücken.

Die wichtigsten Werte sind aber Hardness und Clusterize der einzelnen FBodys, um eine kleinteilige Sprengung zu erreichen nutzte ich Hardness 70 und 40 % Clusterize. Eine der letzten Änderungen war die Erhöhung der Schwerkarft um die Geschindigkeit der fallenden Objekte der Dynamik des Shots anzupassen. Für die finale Simulation verwendete ich 25 Subsamples, was bei über eintausend Objekten immernoch zügig simuliert wird. Nachdem ich mit dem Ergebniss zufrieden war konnte ich all die Bruckstücke inclusive der gebakten Simulation wieder in meine Hauptszene mergen und dort so auf der Timeline verschieben das sie im richtigen Moment startet.

Read the complete article ››

Akropolis – Fracture Parts

Break that thing, yeah …

Nachdem dann endlich alles soweit modelliert und texturiert ist kanns endlich losgehn mit den spaßigen Dingen an einem FX-Shot. Wenn man so ein Gebäude oder ein paar Säulen in Stücke haun will, sollte man sich erstmal die Bruchstücke vorbereiten. Wie so oft nehm ich auch hier wieder RayFire für das fracturen, das Tool ist einfach praktisch und erzeugt meiner Meinung nach mit die besten irregulären Schnittebenen.





In meinem Shot plane ich zwei RigidBody- Simulationen, eine im Hintergrund an einem sekundär Gebäude und eine direkt an der Kamera mit Säulen. Um mich beim Fracturn nicht zu verzettlen und auch verschiedene Varianten probieren zu können, speichere ich mir den jeweiligen Bereich in einer neuen Datei. Ich versuche meisten erstmal grobe größere Stücke zu erzeugen von denen ich dann ausgewählte Stücke nochmal in Kleinere zershattere. In bestimmten Bereichen nehme ich dann nochmal ein paar dieser Kleinen und zerteile diese ein drittes mal, so entstehen in manchen Kincken richtig feine Stückchen die herraus bröckeln können.

Thanks to Thinkinetic

Thinkinetic, die Macher des Dynamic-Plugins PullDownIt haben meinen Akropolis Shot auf Vimeo gefunden und mich gefragt ob Sie nicht einen Case Study-Artikel darüber schreiben können. Es ist natürlich eine Ehre wenn man als Artist vom Softwarehersteller ausgewählt wird und so habe ich zugestimmt ein paar Fragen zu beantworten. Der Artikel geht weit über den Einsatz von PullDownIt hinaus und erläutert auch viele andere Aspekte des Shots (auch Vieles das hier noch nicht gepostet wurde).

Des Weiteren wird Akropolis Teil des Showreels 2011 von Thinkinetic sein und somit auf der ganzen Welt präsentiert werden. Als Dankeschön bekomme ich eine Pro Lizenz für PullDownIt mit der ich jetzt noch größere Simulationen erstellen kann.

Zum Artikel “Akropolis by Christoph Saalfeld” >>
Zu Tinkinetic >>

Randy’s – First impression

Idee, Test und Umsetzung

Jeder kennt sicher die Szene wo Ironman gemütlich einen Kaffee im Donut von Randy’s schlürft. Ich mag die Idee das sich bei Randy’s die Superhelden treffen und will einen meiner SoftBody-Tests nebenbei zu einem ganzen Shot ausbauen. Im Moment modelliere ich mich Stück für Stück durch das Set und versuche vor allem durch Details und gute Texturen Realismus hinein zu bekommen. Das Ganze Modell basiert nur auf ein paar Bildern die ich auf Google zusammen gesucht habe, das klappt doch besser als ich erst dachte. PS … vieleicht schaut der Hulk ja auch mal vorbei … ;)

Stabilitätsversagen

Sichert eure Fachwerke

In den letzten Tagen musste ich mal darstellen, was passieren kann wenn stetig Wasser auf die Deckenbalken eines Fachwerkhauses einwirkt. Die Folgen können bis zum Einsturz von Decken, oder dem völligen Stabilitätsversagen des Gebäudes führen. Für mich war das eine nette kleine Aufgabe in der nicht nur detailiert texturiert werden konnte, sondern auch mal eine kleine Physiksimulation ihren Platz in der Architekturvisualisierung fand.