Holo-Monitor aus Avatar 1 in AR

Holo-Monitor aus Avatar 1 als AR-Demo — USD-Updates

„Den riesigen holographischen Monitor aus der Kommandozentrale von Avatar — warum nicht als AR-Projekt umsetzen?”

Inspiration aus dem Kino — umgesetzt als USDZ-AR-Demo. Diesmal mit Werkstattbericht direkt aus dem Quellcode:

  • Der Holo-Monitor aus Avatar 1: selbstleuchtend, halbtransparent, platzierbar per QR-Code
  • Warum Standard-Exporte aus Blender dafür nicht ausreichen
  • Schritt-für-Schritt: USDZ entpacken, in USDA-ASCII umwandeln, Emissive Color und Opacity setzen
  • Wie man die Datei mit den USD-Kommandozeilentools wieder zusammenbaut
  • Praxistipp: Auszubildender Jesse erstellt die Datei im ersten Lehrjahr
Was sind USD-Updates?

Kurze Videos und Talks von Gerhard Schröder rund um OpenUSD, USDZ und Augmented Reality im Apple-Universum — seit 2022.

Alle USD-Updates

Worum es geht

Der holographische Riesenmonitor aus der Kommandozentrale in Avatar 1 war die Inspiration: selbstleuchtend, halbtransparent, eindrucksvoll. Das viSales-Team hat ihn als USDZ-AR-Demo umgesetzt — und zeigt in diesem Video nicht nur das fertige Ergebnis, sondern auch den technischen Werkstattbericht dahinter.

Das Problem: Standard-Export-Tools wie Blender unterstützen im USDZ-Export normalerweise nur die normale Albedo-Farbe. Für selbstleuchtende Effekte (Emissive Color) und Transparenz (Opacity) muss man direkt in die Datei eingreifen. Kollege Thomas Kumlehn erklärt Schritt für Schritt, wie das geht: USDZ mit unzip entpacken, die binäre USDC-Datei per usd-cat in lesbare USDA-ASCII umwandeln, im Texteditor das Material anpassen — diffuse color auf Schwarz, emissive color auf die Textur, Opacity auf 75 Prozent — und alles mit usdzip wieder zusammenpacken.

Die fertige USDZ-Datei ist per QR-Code im Video zugänglich. Den Live-Test am Schreibtisch hat Gerhard bewusst weggelassen: Der Monitor ist zu groß — die Kamera müsste viel weiter nach hinten, um ihn vollständig einzufangen.

Kapitel

  • 0:00 — Intro: Avatar-Inspiration und Idee der AR-Demo
  • 0:45 — QR-Code zum Selbst-Ausprobieren — warum kein Live-Test am Schreibtisch
  • 1:30 — Wer hat die Datei gebaut? Auszubildender Jesse im ersten Lehrjahr
  • 2:00 — Werkstattbericht von Thomas: Was muss installiert sein?
  • 2:45 — Schritt 1: USD-Umgebung starten
  • 3:15 — Schritt 2: USDZ mit unzip entpacken
  • 3:45 — Schritt 3: USDC-Binärdatei mit usd-cat in USDA-ASCII umwandeln
  • 4:30 — Schritt 4: Im Texteditor — diffuse color, emissive color, opacity anpassen
  • 6:00 — Schritt 5: ASCII zurück in USDC und mit usdzip neu verpacken
  • 7:15 — Ergebnis: 75 % Transparenz, selbstleuchtend — der Holo-Monitor in AR
  • 7:45 — Outro: Link zu Multi-Objekt-AR und GitHub-Repository

Erwähnt

Transkript (KI-bereinigt)

Ich liebe Avatar. Egal ob erster oder zweiter Teil, großartige Filme. Das, was ihr hier seht — den Monitor — den gab es im ersten Teil von Avatar. Das da ist aus der Kommandozentrale vom Avatar, ersten Teil, der riesige holographische Monitor. Und das wäre ja so schön, wenn man sowas hätte. Also, warum nicht als AR-Projekt umsetzen? Los geht’s!

Wenn euch das Thema AR und Apple in dieser Kombination interessiert, dann seid ihr hier auf jeden Fall richtig. Mein Name ist Gerhard Schröder.

In der heutigen Folge machen wir ein bisschen was anders. Wir zeigen natürlich auch einmal die Datei. Wenn ihr jetzt am Laptop sitzen solltet, könnt ihr das auch entsprechend mit dem QR-Code selber abscannen oder irgendeinem anderen stationären Rechner, iPhone, iPad rausholen, QR-Code einscannen. Und lasst euch nicht erschrecken, der Monitor ist riesig. Darum zeige ich den hier auch jetzt nicht live auf meinem eigenen schönen Bambus-IKEA-Schreibtisch, weil der Schreibtisch wäre voll und die Kamera müsste viel weiter nach hinten.

Werkstattbericht: Wie wurde die Datei gebaut?

Wir haben das mal umgesetzt. Umgesetzt hat es bei uns diesmal der Auszubildende Jesse im ersten Lehrjahr. Der hatte den Job bekommen, die Datei vorzubereiten. Und mit der Datei zeigen wir diesmal nicht nur: hey, kannst du ja ausprobieren — sondern wir erklären auch einen Werkstattbericht, wie man gewisse Dinge davon im Hintergrund technisch umsetzt.

Der Thomas Kumlehn, Kollege von mir aus dem Unternehmen, hat einen Screencast gemacht und erklärt Schritt für Schritt, was ihr dafür tun müsst. Zuerst gibt es einen kurzen Screencast, in dem erklärt wird, welche Dinge man technisch überhaupt installieren muss, um so eine USDZ-Datei zu bearbeiten. Achtung, es geht in den Quellcode hinein. Das richtet sich also an Leute, die sagen: holt mal Bier ab in den Quellcode. Von daher: für alle, die das ausprobieren wollen, erst die Installationsanleitung anschauen und dann kommt die Schritt-für-Schritt-Anleitung.

Thomas Kumlehns Screencast — Schritt für Schritt

Mit den Standard-Tools und den Exportmöglichkeiten aus Programmen wie Blender wird nur die normale Albedo-Farbe sinnvoll unterstützt in Tutorials. Wenn man aber zum Beispiel für diesen Bildschirm einen selbstleuchtenden Effekt haben möchte, auf den das Umgebungslicht keine Auswirkungen hat, und wenn man das auch durchsichtig haben möchte, muss man noch von Hand eingreifen in die Datei.

Hier zeigen wir, wie man in ein USDZ-Archiv eingreifen kann und mit einem Texteditor Änderungen machen kann.

Der erste Schritt ist, dass wir die USD-Umgebung starten. Das stellt sicher, dass alle Libraries und Python-Environments vorhanden sind, damit die USD-Tools gut funktionieren.

Dann benutzen wir den normalen unzip-Befehl, um die USDZ-Datei — das ist eigentlich ein normales ZIP, nur mit einem anderen Namen — zu entpacken. Daraufhin haben wir eine weitere Datei mit der Extension .usdc, die war in dem Archiv drin, und einen Folder, wo die Texturen drin sind.

Mit der USDC-Datei können wir direkt im Editor noch nichts anfangen — das ist eine binäre Datei. Dafür benutzen wir jetzt den usd-cat-Befehl mit der Output-Option, um zu sagen, wir möchten eine USDA-Datei haben. Ich benutze denselben Namen wie die USDC-Datei, aber ändere die Extension auf .usda. Das ist der Input-Name: wandle von der USDC-Datei in die ASCII-Variante um.

Die ASCII-Datei hat die Extension .usda. Hier benutze ich einen Syntax-Highlighter, der USDA versteht. Und jetzt schaue ich nach dem Material — nach JPEG. Hier wurde die Textur verwendet für die Albedo, für die diffuse color — und das möchte ich gerne umhängen.

Ich möchte nicht die diffuse color connecten, sondern schreibe: color 3f inputs emissive color connect. Und da der diffuse color default-Wert — wenn ich diese Zeile weglassen würde — neutral grau wäre, möchten wir schwarz haben. Zusätzlich möchten wir dem Ganzen noch eine Durchsichtigkeit geben. Standardmäßig ist die Opazität 1.0, also komplett undurchsichtig. Wir probieren einen Wert von 75 Prozent aus.

Die Textversion speichern wir jetzt ab. Dann benutzen wir denselben usd-cat-Befehl wieder, aber tauschen die Dateinamen aus: von der ASCII-Datei in die binäre Variante USDC. Dann machen wir den letzten Schritt, das Ganze wieder in ein Archiv zu packen. Dazu gibt es den speziellen usdzip-Befehl. Als erstes wird die USDC-Datei genannt, dann die Texturen. Jetzt können wir uns das im Finder in der Preview anzeigen — jetzt müsste es 75 Prozent transparent sein.

Viel Spaß beim Experimentieren.

Outro

Wer bis hierhin durchgehalten hat: Hier oben gibt es noch ein anderes Video, wo wir Multi-Objekt Augmented Reality vorstellen. Und in den Show Notes gibt es sogar einen Link zu einem GitHub-Repository, wo der Quellcode drin ist. Wenn ihr Fragen habt, meldet euch. Wir planen demnächst auch ein neues Format: die USD-Updates. Live Talk mit Thomas. Bis dahin, auf bald.

Typische Fragen

Wie bearbeitet man eine USDZ-Datei manuell für selbstleuchtende Effekte?

Eine USDZ-Datei ist ein ZIP-Archiv. Man entpackt sie mit dem unzip-Befehl, wandelt die binäre USDC-Datei per usd-cat in lesbare USDA-ASCII um und bearbeitet im Texteditor das Material: diffuse color auf Schwarz setzen, emissive color auf die Textur, Opacity auf den gewünschten Wert (z.B. 0,75). Danach wandelt man die USDA zurück in USDC und packt alles mit usdzip neu zusammen.

Warum reichen Standard-Exporte aus Blender für Emissive-Effekte in USDZ nicht aus?

Blender und andere DCC-Tools unterstützen im USDZ-Export standardmäßig nur die Albedo-Farbe. Selbstleuchtende Effekte (Emissive Color) und Transparenz (Opacity) werden beim Export nicht sauber übertragen — sie müssen direkt im USD-Quellcode konfiguriert werden. Der Werkstattbericht im Video zeigt den Schritt-für-Schritt-Prozess.

Was sind die USD-Kommandozeilentools usd-cat und usdzip?

usd-cat ist ein Python-Werkzeug aus dem offiziellen OpenUSD-Toolset von Pixar/AOUSD. Es konvertiert binäre USDC-Dateien in lesbare USDA-ASCII-Dateien — und umgekehrt. usdzip packt eine USDC-Datei und ihre Texturordner wieder zu einer gültigen USDZ-Datei zusammen. Beide Tools sind Teil der USD-Python-Umgebung und kostenlos verfügbar.

Häufige Fragen

Was ist der Holo-Monitor aus Avatar 1 und wie wurde er als AR umgesetzt?

Im ersten Avatar-Film gibt es einen riesigen holographischen Monitor in der Kommandozentrale. Das viSales-Team hat diesen als USDZ-AR-Demo nachgebaut — mit selbstleuchtendem Effekt und 75 % Transparenz, erstellbar durch direktes Eingreifen in den USD-Quellcode.

Wie bearbeitet man eine USDZ-Datei manuell für selbstleuchtende Effekte?

Eine USDZ-Datei ist ein ZIP-Archiv. Man entpackt es mit unzip, wandelt die binäre USDC-Datei per usd-cat in lesbare USDA-ASCII um, bearbeitet dort das Material (diffuse color auf Null, emissive color auf die Textur setzen, Opacity auf 0.75), und packt alles mit usdzip wieder zusammen.

Warum reichen die Standard-Export-Optionen aus Blender für diesen Effekt nicht aus?

Blender und andere DCC-Tools unterstützen im USDZ-Export normalerweise nur die Albedo-Farbe (diffuse). Selbstleuchtende Emissive-Effekte und Transparenz müssen direkt im USD-Quellcode konfiguriert werden — der Werkstattbericht zeigt Schritt für Schritt wie.

Wer hat die USDZ-Datei für den Holo-Monitor-Effekt erstellt?

Der Auszubildende Jesse im ersten Lehrjahr bei viSales. Kollege Thomas Kumlehn hat einen Screencast erstellt, der erklärt, wie die Datei technisch vorbereitet und bearbeitet wird — inklusive Installation der USD-Umgebung.

Wo kann man die USDZ-Datei des Holo-Monitors selbst ausprobieren?

Per QR-Code im Video oder aus einem anderen Gerät heraus. Wegen der Größe des Monitors wurde die Live-Demo am Schreibtisch weggelassen — der Monitor ist zu groß für den üblichen Kamera-Ausschnitt. Zum Selbstausprobieren einfach QR-Code scannen.