Øyvind Fiksdal teilte die Details des Verfahrens zur Schaffung eines Hauses und einer Landschaft in
Houdini mit und sprach über die Vorteile dieses Ansatzes.
Einführung
Mein Name ist
Eivind Fixdahl , ich bin ein norwegischer Künstler, der hauptsächlich mit traditioneller Kunst gearbeitet hat. Kurz vor dreißig Jahren entschied ich mich, mich ganz auf 3D zu konzentrieren und nahm an zweijährigen 3D-Kursen und Animationen teil. Nach einiger Zeit bekam ich einen Job bei einer der größten Werbeagenturen in Norwegen.
Die Arbeit in der Werbebranche öffnete alle Türen, aber die Arbeit für ein Unternehmen gab mir keine Möglichkeit zur Implementierung, so dass ich freiberuflich tätig wurde. Nach zwei Jahren freiberuflicher Tätigkeit beschlossen ein ehemaliger Kollege und ich, eine Firma namens Trollskog zu gründen.
Verfahrensansatz für das Projekt
Ich war immer fasziniert von der prozeduralen Natur von
Houdini , aber auf künstlerischer Ebene nicht nur von der Standardverwendung des Programms. Nachdem ich eine Vielzahl von Tutorials und Präsentationen durchgesehen hatte, begann ich, die im Programm verborgene Kraft zu beherrschen.
Wenn Sie mit vollständig prozeduralen Ressourcen in Houdini oder einer anderen Software arbeiten, gibt es nur sehr wenige Möglichkeiten, künstlerische Akzente zu setzen. Sie können nur den Keim ändern und hoffen, dass Sie etwas Interessantes erhalten. Wenn Sie unter der Leitung eines Art Directors arbeiten, ist es durchaus möglich, der Randomisierung Hintergrund-Assets zuzuweisen, aber das Erstellen von Helden-Assets oder eines manuell erstellten Dorfes kann für die meisten von uns eine unerträgliche Aufgabe sein.
Selbst wenn Sie mit traditioneller Modellierung und Bildhauerei arbeiten, wird das Erstellen eines ganzen Dorfes eine große Aufgabe sein, insbesondere das Bearbeiten eines Assets nach dessen Fertigstellung.
Mein Konzept basierte auf der Idee, einfache Low-Poly-Assets manuell zu erstellen sowie dieselben prozeduralen Tools zu erstellen, die Geometrie lesen und ein vorgefertigtes Modell mit allen Details, Texturen und Verbesserungen erstellen. Mit dem traditionellen Ansatz würde eine solche Arbeit mehrere Tage dauern.
Es ist auch erwähnenswert, dass ich dieses Projekt vor ungefähr einem Jahr durchgeführt habe, um mein Wissen in Houdini zu erweitern, mit
VEX zu arbeiten und zu verstehen, ob es möglich ist, Houdini in der Produktionspipeline zu verwenden.
Hausbau: Verfahrensförderer
Das Verfahren, das ein fertiges Haus aus einer niedrigen Polybasis erzeugt, wird aus einer Reihe von Modulen zusammengesetzt. Wenn es um Houdini-Module geht, bedeutet dies häufig eine Kette von Knoten, die eine bestimmte Aufgabe ausführen. Das erste Modul liest beispielsweise die Low-Poly-Geometrie und erkennt Dächer, Wände, Türen und Fenster. Mehrere Module, die sekundäre Operationen ausführen, verzweigen sich davon. Zum Beispiel wird das Dach dann zum nächsten Modul geschickt, wobei der Dachkamm gefunden und geprüft wird, ob er den Turm erkennen kann. Als nächstes werden die Daten an ein neues Modul gesendet, das Kacheln erstellt, dann an ein anderes, um Moos zu erstellen, dann um Gras zu erstellen und so weiter.
Im fertigen Modell gibt es praktisch keine vorab erstellten Assets. Stattdessen werden sie von der Oberfläche unter ihnen erzeugt. Dies ist das Konzept des Projekts. Wie im Beispiel aus dem Video werden Wände nur auf der Basis einer einfachen Low-Poly-Geometrie erstellt.
Der Prozess beginnt mit dem Importieren eines separaten Netzes, wie im ersten Video gezeigt. Daraus erkennt das Modell, wie oben erwähnt, prozedural das Dach, die Wände, Fenster und Türen. Dann werden sie in die Hauptphase der Schöpfung überführt. Das Eingabemodell wird auch verwendet, um Efeu zu erzeugen, der nicht nur an der Oberfläche wächst, sondern auch das Volumen des Modells misst, um zu viel oder zu wenig Vegetation zu vermeiden.
Jedes dieser Elemente liest den Pfad der Eingabedatei und wird als Attribut übergeben, sodass das fertige Modell als native Houdini-Datei geschrieben wird. Das heißt, nachdem ich ein Modell ausgewählt habe, um ein fertiges Modell zu erstellen, reicht mir ein Mausklick.
Verfahrensansatz kombiniert mit manueller Arbeit
Wenn Sie eine vollständig prozedurale Pipeline ohne manuell erstellte Eingabedaten verwenden, können Sie sowohl organische als auch zufällig aussehende Ergebnisse erhalten. Der Prozess ist jedoch sehr komplex und unvorhersehbar. Wenn wir jedoch beide Ansätze kombinieren, werden wir die Arbeit vereinfachen und mehr Kontrolle über das Endergebnis haben.
Natürlich müssen einige Aspekte dem Zufall überlassen werden, z. B. die Erstellung zufälliger Werte für die Skalierung, Drehung oder Position von Objekten sowie die Verwendung von Rauschmustern zur Simulation von Steinoberflächen und mehr. Für ein so zuverlässiges Arbeitstier wie Houdini sind dies jedoch einfache Vorgänge.
Materialherstellung
Wie Sie dem Video über das Erstellen von Wänden entnehmen können, handelt es sich bei einem großen Teil dieser Materialien nicht um Texturen, sondern um Geometrie. Die verbleibenden Materialien werden mithilfe von Farbdaten aus den Netzen sowie Krümmungsmessungen und anderen Tricks erstellt, die mithilfe von Attributen ausgeführt werden. Die meisten der tatsächlich verwendeten Texturen sind sehr einfache Texturen, die mit
COP (Houdinis integriertem Komponisten) erstellt wurden.
Vor dem Import wurde ein UV-Scan eines Low-Poly-Modells durchgeführt, und diese Daten wurden im Modellierungsprozess verwendet, beispielsweise beim Erstellen eines Dachziegels. Obwohl ich sie im Endprodukt nicht verwende, können sie zum Backen von Texturen verwendet werden, die in der Low-Poly-Version verwendet werden. Es gibt jedoch optimalere Möglichkeiten, ein Spielmodell zu erstellen, auf das wir später zurückkommen werden.
Für das endgültige Modell wird das UV-Scannen hauptsächlich prozedural mit Hilfe von Spielentwicklungswerkzeugen durchgeführt, während andere Teile, z. B. Balken und Türen, durch Strecken entlang von Kurven mit UV-Koordinaten eingesetzt werden.
Landschaftserstellung
Das Gelände wird durch Lesen der unteren Etage des importierten Modells erzeugt. Die endgültige Geometrie wird mithilfe von
VDB durch Mischen verschiedener Geräusche erstellt.
Nach Abschluss des Geländes können wir alle Arten von topologischen Eigenschaften messen: Okklusion, Krümmung, Neigungswinkel usw. Sie bestimmen den Standort des Grases, seine Höhe und den Standort von Blumen oder Bäumen.
Aus Gründen der Variabilität werden Materialien durch Kombinieren von Bildern und Farbdaten erstellt.
Die Pflanzen und das Gras selbst sind Instanzen, die prozedural durch Kombinieren von Knoten und VEX erstellt werden. Dann verwandeln sie sich in Proxy-Redshift, dessen Instanzen abhängig von den Attributen der Landschaft erstellt werden.
Ist das Projekt für das Spiel bereit?
Ein solches System ist sowohl für die Herstellung von Spielen anwendbar als auch nicht anwendbar. Damit es anwendbar ist, muss es einer anderen Reihe von Operationen unterzogen werden, aber dies wird eine ziemlich einfache und unkomplizierte Aufgabe sein. Die Modelle sind zu hochpoly für die Verwendung in Spielen. Wenn Sie jedoch das High-Poly-Modell in ein VDB-Objekt konvertieren, um dessen Dichtheit sicherzustellen, und dann die Werkzeuge verwenden, um die Anzahl der Polygone zu verringern, kann alles andere einfach in Texturen gebacken werden.
Ich denke, dass Spiele heutzutage oft prozedural generierte Architekturen verwenden, aber ich habe noch keine Fälle gesehen, in denen ich handgemachte einfache Modelle nehmen und dann alle Details basierend darauf generieren würde. Vielleicht wird dies in Zukunft häufiger vorkommen.
Ich würde mein eigenes begrenztes Wissen über Houdini als Projektengpass klassifizieren. Ich habe dieses Projekt gestartet, um das Programm zu studieren, und hatte keine Ahnung, wozu ich kommen wollte. Rückblickend kann ich sagen, dass ich mit dem Wissen, das ich jetzt habe, in diesem und in anderen Projekten viel anders wäre. Ein weiterer Engpass ist RAM - um in Houdini zu arbeiten, und insbesondere bei der Verarbeitung von VDB benötigen Sie viel RAM.
Øyvind Fiksdal , 3D-Künstler
Interview von Kirill Tokarev