FBX-, OBJ-, glTF- und GLB-Modelle in USD-Komponenten umwandeln
Ein gekauftes oder aus einem anderen Programm exportiertes Modell kommt meist als FBX, OBJ oder GLB, mit seinen Texturen neben der Datei oder darin verpackt. Für Solaris muss daraus eine USD-Komponente werden: jede Textur mit dem richtigen Material verbunden, Detailstufen und ein Proxy. Everything, die Konvertierungsanwendung von CGfield, liest die Materialien, die die Datei deklariert, und liefert eine USD-Komponente pro Modell.
Unterstützte Dateien
Everything liest .fbx, .obj (mit seiner .mtl), .gltf und .glb direkt, auch ein Draco-komprimiertes glTF, sowie USD-Dateien (.usd, .usda, .usdc, .usdz). Dateien im Format .blend, .abc, .ply und .stl laufen über Blender, das im Hintergrund gestartet wird und sie einmalig in GLB umwandelt. Die Komponente wird in Metern geschrieben, Y nach oben: Einheit und Achse, die ein FBX deklariert, werden aus der Datei gelesen, und die Einheit eines OBJ, die das Format nicht angibt, wird abgeleitet. Hat ein Modell die falsche Größe, lässt sich in der Seitenleiste seine reale Größe anhand einer bekannten Abmessung in mm, cm oder m einstellen, die Proportionen bleiben erhalten.
Die Materialien jedes Formats
Everything liest die Materialtabelle, die jedes Format mitbringt: die Texture-Knoten und ihre Verbindungen in einem FBX, die .mtl eines OBJ, die Materialien eines glTF. So weiß es, welche Textur auf welchem Kanal welches Materials liegt, auch bei einem Modell mit mehreren Materialien. In einem GLB oder FBX eingebettete Texturen werden extrahiert, und die glTF-Textur, die Roughness und Metalness bündelt, wird nach der Spezifikation getrennt.
Auch ein aus 3ds Max exportiertes FBX mit Corona-, V‑Ray-, Arnold- oder Physical-Material-Materialien wird gelesen. Texturen, die ein FBX nicht deklariert, werden in seinem Ordner anhand ihres Namens gesucht (basecolor, normal, roughness…). Musste Everything die Konventionen einer unbekannten Quelle erraten, trägt die Karte des Assets das Etikett „ungeprüft“: Der Export funktioniert, aber prüfen Sie das Rendering.
Die Schritte
- Installieren Sie den CGfield-Launcher mit einem kostenlosen Konto, dann Everything.
- Ziehen Sie Ihre FBX-, OBJ-, glTF- oder GLB-Dateien, ein ZIP-Archiv oder den Ordner, der sie enthält, in Everything. Jedes erkannte Asset wird zu einer Karte in der Galerie.
- Schalten Sie im Bereich Lieferung „USD-Komponente“ ein und wählen Sie die Engines: MaterialX für Karma und bei Bedarf Arnold oder V‑Ray.
- Wählen Sie den Ausgabeordner und starten Sie den Export.
- Legen Sie in Solaris einen Reference-Knoten auf die .usd-Datei der Komponente an, wählen Sie die gewünschte lod-Variante und rendern Sie mit Karma.
Was die USD-Komponente enthält
Jedes Modell wird zu einem eigenständigen Ordner: Asset.usd (die Komponente mit ihrem Payload), payload.usdc, geo.usdc, mtl.usdc, der Ordner textures und ein Vorschaubild, mit relativen Texturpfaden. Das Material wird als UsdPreviewSurface geschrieben und für jede gewählte Engine: MaterialX, das Karma, Arnold und V‑Ray lesen, oder das native Netzwerk von Arnold oder V‑Ray; sind mehrere Engines gewählt, wird jede zu einer Variante des variantSet shader. Dieselbe Komponente lässt sich auch in Maya über das Maya-USD-Plugin laden.
Die Detailstufen sind lod-Varianten (Vordergrund, Mittelgrund, Hintergrund), die die Texturauflösung begrenzen: Standardmäßig behält der Vordergrund die Quelle, der Mittelgrund geht auf 1024 Pixel und der Hintergrund auf 256. Der Proxy, eine leichtere Geometrie mit dem Purpose proxy, wird im Viewport anstelle des Renderings angezeigt. Eine Datei mit einem Satz einzelner Teile, etwa Trümmern, ergibt eine geo-Variante pro unterschiedlichem Teil; ein Modell aus mehreren Teilen bleibt eine einzige Komponente. Nach dem Schreiben öffnet Everything die Komponente erneut und prüft, dass jedes Mesh sein Material hat und jede referenzierte Textur existiert.
Gut zu wissen
Everything läuft unter Windows 10 und 11, 64 Bit. Für ein FBX, OBJ, glTF, GLB oder USD braucht die Konvertierung keine weitere Software; Dateien im Format .blend, .abc, .ply und .stl brauchen ein auf dem Rechner installiertes Blender. Das FBX muss binär sein, und nur seine statische Geometrie wird gelesen, ohne Animation und Skinning. UDIM-Texturen werden nicht unterstützt, und außerhalb von glTF wird eine Textur, die mehrere Kanäle bündelt (ORM), nicht getrennt. Ein Material, dessen Texturen nicht gefunden werden, wird durch eine Warnung auf der Karte des Assets gemeldet.
Videos
Weitere Anleitungen
- Quixel Megascans als USD-Komponenten in Houdini Solaris importieren
- Ein Asset-Browser für Houdini, Maya, 3ds Max und Blender
- Bäume und Pflanzen im Wind animieren, als UsdSkel oder Alembic
- Maxtree-, SpeedTree- und Globe-Plants-Bäume in Houdini, Maya, 3ds Max und Blender
- Ein KitBash3D-Kit in Assets für Houdini, Maya, 3ds Max und Blender aufteilen
- Ein Alembic liefern, das seine Materialien von Programm zu Programm behält
- V‑Ray-Proxys und Arnold-Standins im Batch für eine Asset-Bibliothek
- Megascans, Poly Haven und ambientCG in Maya mit zugewiesenen Arnold- oder V‑Ray-Materialien
- Megascans, Poly Haven, ambientCG und KitBash3D in Blender mit ihren Materialien