Katana wurde ursprünglich entwickelt, um Probleme mit Skalierbarkeit und Flexibilität zu lösen. Im Laufe der Zeit beschäftigte sich Katana zunehmends mit der Frage, wie man Look Development und Beleuchtung so durchführen kann, das sie mit potenziell unbegrenzten Mengen an Szenendaten umgehen kann. Außerdem muss es flexibel genug sein, um den Anforderungen der modernen CG-Feature- und VFX-Produktion für maßgeschneiderte Workflows gerecht zu werden, mit der Möglichkeit, alles zu bearbeiten oder zu überschreiben.
Katana nutzt den Support von Renderern für rekursive Verfahren, bei denen bei Bedarf beliebige Szenendaten erstellt werden können. Der Katana-Ansatz besteht darin, ein einziges Verfahren zu haben, das leistungsfähig genug ist, um beliebige Generierungen und Filterungen durchzuführen. Im Wesentlichen handelt es sich hierbei um ein verfahrenstechnisches, kundenspezifisches Programm in Form einer baumbasierten Beschreibung von Filtern. Zur Renderzeit werden die Bibliotheken von Katana innerhalb dieses Verfahrens aufgerufen, um Szenendaten nach den Anforderungen des Renderers zu berechnen.
Was kann Katana?
Katana ermöglicht es Ihnen, zu definieren, was Sie rendern möchten, indem Sie Filter verwenden, die 3D-Szenendaten erstellen und ändern können. Eine nodebasierte Benutzeroberfläche ermöglicht es den Benutzern, die zu verwendenden Filter zu definieren und ihre Ergebnisse interaktiv zu überprüfen.
Mit Hilfe von Filtern können Sie Szenendaten beliebig erstellen und ändern. Sie können z.B.
- Bringen Sie 3D-Szenendaten von der Festplatte ein, z.B. aus einem Alembic Geometrie-Cache oder Kameraanimationsdaten.
- Erstellen Sie eine neue Instanz eines Materials z.B. einen 3Delight Shader.
- Erstellen Sie Kameras und Lichter.
- Manipulieren Sie Transformationen an Kameras, Lichtern und anderen Objekten.
- Verwenden Sie regelbasierte Ausdrücke, um festzulegen, welche Materialien welchen Objekten zugeordnet sind.
- Isolieren Sie Teile der Szene für verschiedene Render Passes.
- Zusammenführen von Szenenkomponenten aus einer Reihe von Teilszenen.
- Geben Sie an, welche AOV`s Sie für mehrere Render Passes in einem einzigen Rendering verwenden möchten.
- Verwenden Sie Python-Scripting, um eine beliebige Manipulation von Attributen an beliebiger Stelle in der Szenenhierarchie festzulegen.
Die an den Renderer zu liefernden Szenendaten werden durch einen Filterbaum beschrieben und die Filter bei Bedarf iterativ ausgewertet. Katana wurde entwickelt, um gut mit Renderern zusammenzuarbeiten, die in der Lage sind, rekursive Verfahren zu verschieben. Bei rekursiven Verfahren wird der Filterbaum direkt an den Renderer übergeben, wobei die Szenendaten auf Anforderung berechnet werden, wie der Renderer es verlangt (Lazy-Auswertung). Dies geschieht typischerweise durch eine Prozedur innerhalb des Renderers, die während des Renderns Katana-Bibliotheken verwendet, um Szenendaten aus dem Filterbaum zu generieren.
Katana kann auch mit Renderern verwendet werden, die keine Prozeduren oder verzögerte Auswertung unterstützen, indem ein Prozess ausgeführt wird, der den Szenengraph auswertet und eine Scene Description Datei für den Renderer ausgibt. Dieser Ansatz kommt ohne die Vorteile einer verzögerten Auswertung während des Renderings an. Zudem kann die Scene Description Datei sehr groß sein.
Katana ist im Kern ein System zur beliebigen Erstellung, Filterung und Verarbeitung von 3D-Szenendaten mit einer Benutzeroberfläche, die in erster Linie für die Bedürfnisse des Look Developments und der Beleuchtung konzipiert ist. Katana ist auch für die Bedürfnisse von Power-Usern konzipiert, die benutzerdefinierte Pipelines erstellen und 3D-Szenendaten auf fortschrittliche Weise bearbeiten möchten.
Scene Graph Iterators.
Der Schlüssel zur Ausführung, Filterung und Bereitstellung von Szenendaten durch Katana besteht darin, dass auf Szenendaten immer nur über Iteratoren zugegriffen wird. Diese Iteratoren ermöglichen es einem Calling Prozess (z.B. einem Renderer), den Szenengraph zu durchlaufen und auf Wunsch jeden Teil der Daten zu untersuchen. Da diese Daten bei Bedarf generiert werden können, muss ein großer Scene Graph Zustand nicht im Speicher gehalten werden.
In der Informatik trägt der Calling Prozess die Verantwortung dafür, seinen eigenen Zustand zu erhalten. Katana bietet eine funktionale Darstellung, wie der Szenengraph erzeugt werden soll, der zustandlos mit wenig Aufwand ausgewertet werden kann.
An beliebiger Stelle in der Szenenhierarchie stellt Katana einen Iterator zur Verfügung, der abgefragt werden kann:
- Welche benannten Attribute gibt es an dieser Stelle?
- Was sind die Werte für ein benanntes Attribut (Werte gelten als Vektoren von zeitabgetasteten Daten)?
- Was sind die Orte für Kinder und Geschwister (falls vorhanden)?
Katana im Look Development und in der Beleuchtung.
Katanas Szenengenerierung und -filterung werden als primäres Werkzeug für das Look Development und die Beleuchtung präsentiert, indem sie über Filterfunktionen verfügen, die es Ihnen ermöglichen, alle klassischen Operationen durchzuführen, die im Look Development und der Beleuchtung durchgeführt werden. Vor allem:
- Erzeugen von Instanzen von Shadern oder Materialien aus Netzwerken von Komponenten.
- Zuweisen von Shadern zu Objekten.
- Erstellen von Leuchten.
- Bewegliche Lichter.
- Sichtbarkeitsflags auf Objekten ändern.
- Definition verschiedener Render Passes.
Katanas nodebasierte Schnittstelle bietet einen natürliche Möglichkeit, Recipes zu erstellen, von denen Filter verwendet werden können. Übergeordnete Operationen, die eine Vielzahl von zusammenwirkenden Atomfiltern erfordern, können in einem einzigen Node zusammengefasst werden, so dass sich der Endanwender nicht mit jeder einzelnen Fine-Grain Operation befassen muss. Mehrere Nodes können auch zu einzelnen, übergeordneten Verbundnodes zusammengefasst werden.
Vielen Dank für Ihren Besuch.
Leave A Comment