webentwicklung-frage-antwort-db.com.de

Wie erstelle ich eine .usdz-Animation?

Sie können jetzt 3D-Modelle in .usdz-Dateien (unkomprimiertes Zip-Archiv) konvertieren, indem Sie das mit Xcode 10 beta mitgelieferte Befehlszeilentool von Apple verwenden.

Beispielcode zum Konvertieren einer .obj-Datei in .usdz:

xcrun usdz_converter magnifying_glass.obj -g frame magnifying_glass.usdz 
-color_map gold-basecolor.png -normal_map gold-normal.png
-roughness_map gold-roughness.png -metallic_map gold-metallic.png

Die folgenden Eingabe-3D-Dateitypen werden unterstützt:

  • OBJ-Datei
  • Einzelbild-Alembic-Datei (ABC)
  • USD-Datei entweder .usda (ascii) oder .usdc (binär) 

Ich verstehe, dass die OBJ-Datei keine native Animation unterstützt.

Eine Einzelbild-Alembic-Datei unterstützt keine Animationen, da sie ein Einzelbild ist. 

Ich vermute, Sie müssen eine usda-Datei verwenden, die mit einer Sequenz von Einzelbild-Alembic- oder Einzelbild-OBJ-Dateien verknüpft ist, um Animationen zu erzeugen.

Gibt es eine öffentlich zugängliche Dokumentation, wie dies zu tun ist?

Eine usda-Datei kann mit Payload-Dateien auf Einzelrahmennetze verweisen. Das folgende Beispiel bezieht sich auf eine Alembic-Datei-Geometrie für eine Einzel-Frame-Schatztruhe.

#usda 1.0

def "Chest_Base" (
     references = [ @./[email protected]</Chest_Base> ])
{

}

Ich habe jedoch keine konkrete Möglichkeit gefunden, eine Sequenz von .obj- oder einrahmigen Alembic-.abc-Dateien miteinander zu verknüpfen, um beispielsweise eine 10-Sekunden-Animation zu erstellen.

Jede Hilfe oder ein Hinweis wäre sehr dankbar.

30. Juni bearbeiten:

Es ist mir jetzt gelungen, eine USDZ-Datei zu animieren. Ich habe eine Live-Demo hier mit einem rotierenden Getriebe und einem Hubschrauber. 

Grundsätzlich musste ich die usd-Pipeline von github herunterladen und auf meinem Mac installieren. Eine gute Anleitung dazu erhalten Sie von hier

Seien Sie vorsichtig, wenn Sie sich mindestens ein paar Stunden Zeit nehmen, der Build selbst dauert etwa eine Stunde. 

Danach habe ich das animierte Tutorial-Beispiel im usd-Pipeline-Bundle ausgeführt. Step5.usda (ascii usd file) hat ein Animationsbeispiel, dem ich gefolgt bin, um eigene Animationen mithilfe von Rotationen zu erstellen. 

Wenn Sie diesen Befehl usdz ausführen, wird eine einfache Animation eines Kreisels erstellt, wenn Sie die Datei Step5.usda nach dem Pixar-Tutorial unter dem obigen Link erstellen.

xcrun usdz_convertor Step5.usda animationTest.usdz

Edit 10. Juli 2018:

usdz unterstützt auch Alembic-Assets (mit Animationen).

Es ist mir nun gelungen, eine einfache Animation in usdz (mit dem Alembic-Dateiformat) zu erstellen. Eine Knochenanimation für einen Charakter, den ich ausprobierte, funktionierte jedoch nicht.

Ich habe Alembic-Assets mit den Exportern von Blender & Modo Alembic exportiert ... gleiche Ergebnisse. 

UV-Materialien waren auch nicht richtig auf das Netz abgebildet. Etwas stimmt nicht mit der UV-Skalierung und dem Mapping ... Materialien kommen fragmentiert heraus. Zu diesem Zeitpunkt weiß ich nicht, ob dies ein Fehler ist oder ob ich hier nichts falsch mache. Es gibt einige Diskussionen über dieses Uv-Mapping-Problem im Apple-Forum

Edit 8. September 2018:

Dies ist ein sich schnell entwickelnder Bereich, und ich bin sicher, dass im Laufe der Zeit weitere Möglichkeiten zur Erstellung von usdz-Animationen erscheinen werden. Derzeit ist der beste und kostengünstigste Weg (Open Source) für die Erstellung von Transformations-, Bone-, Blend-Shape- oder Morph-Animationen usdz-Dateien die Verwendung eines auf GitHub gehosteten Befehlszeilen-Tools namens glTF2usd

Das Tool kann eine glTF-Animationsdatei in eine usda-Datei (den Zwischendateityp) konvertieren, um die usdz-Datei zu erstellen. Es sollte auch die direkte Erstellung von usdz in Kürze unterstützen, wodurch die Verwendung des Befehlszeilentools usdz_converter von Apples für usda -> usdz entfällt.

Unterstützt derzeit nur 1 Animationsgruppe. Es gibt noch einige Fehler in Bezug auf Rotationen. --Use-euler-Rotation-Griff kann verwendet werden, um sanftere Rotationen zu unterstützen. 

Ich habe usdz-Animationen, die ich mit dem Tool erstellt habe, in einer Online-usdz-Galerie gepostet www.fusionar.app

6
Clay

Es funktioniert einfach!

 enter image description here

Das Arbeiten mit dem Alembic-Dateiformat in macOS ist der eigentliche Schmerz im Rücken. Aber ich habe meine eigene Methode entwickelt. Animieren Sie Ihr 3D-Modell daher in Autodesk Maya für Mac (Version 2016-Erweiterung 2 SP 1). Dann backen Sie Ihre Animation/Dynamik mit:

Edit ->  Keys -> Bake Simulation

Prüfen Sie, ob das Modul Alembic in der Benutzeroberfläche vorhanden ist: 

Windows -> Settings/Preferences –> Plug-in Manager -> AbcExport.bundle

Danach gehen Sie zu:

Cache –> Alembic Cache -> Export All to Alembic...

Mit diesem Befehl können Sie eine abc-Datei erstellen. Seine Wiedergabe ist 25 Mal langsamer als sie sein muss, aber Sie können es in Xcode korrigieren. Es ist also an der Zeit, Ihre Animation mit dem Xcode 10-Befehl in der Terminal-App zu konvertieren:

xcrun usdz_converter ~/Desktop/sphere.abc ~/Desktop/anime.usdz -v

 enter image description here

Sie erhalten eine usdz-Datei mit der gleichen Wiedergabegeschwindigkeit (25-mal langsamer). 

 enter image description here

Legen Sie die Wiedergabegeschwindigkeit in Xcode 10 fest. Erstellen Sie ein Projekt, ziehen Sie Ihre usdz-Datei mit Drag & Drop, klicken Sie auf Show the Scene Graph View picto und wählen Sie ein beliebiges animiertes Objekt aus der Szenenhierarchie aus (in meinem Fall pSphere1). Ändern Sie im Register Node Inspector die Speed-Eigenschaft von 1 in 25. Diese Anzahl hängt von der Framerate-Einstellung der Animationssoftware ab (24fps, 25fps, 30fps usw.). 

 enter image description here

Das ist es.

 enter image description here

Außerdem Jimmy Gunawan veröffentlicht dieses vom Bildschirm erfasste Blender-Video am 31. Juli 2018. In dieser Video-Episode führt er Sie durch den gesamten Prozess des Exportierens von Transformationsanimationen für .usdz über Alembic. Er hat eine prozedurale Transformationsanimation für viele Objekte, die mit Animation Nodes erstellt und als animiertes 3D .usdz-Dateiformat für Augmented Reality in iOS 12 exportiert werden. 

Grundsätzlich benötigen Sie bei .usdz-Animation ein root- oder null-Objekt, damit es korrekt exportiert werden kann. Also schau dir Jimmy Gunawans Video an.

 enter image description here

Sie können eine Computeranimation auch mit den folgenden professionellen 3D-Tools im .usdz-Dateiformat exportieren: Autodesk Maya, The Foundry Katana, oderSideFX Houdini. Für genauere Informationen besuchen Sie die Webseite dieses Pixars .

1
ARGeo