Dreidimensional mit Qt 3D Studio

3D-Applikationen waren bisher eher das Metier von Industrieunternehmen oder Unity-Spieleentwicklern. Die Qt Company verdankt Nvidia das Alternativsystem Qt 3D Studio, das die Entwicklung dreidimensionaler Szenen einfach und allgemein zugänglich machen soll.

Werkzeuge  –  7 Kommentare
Dreidimensional mit Qt 3D Studio

(Bild: Qt Company)

Qt 3D Studio – nicht zu verwechseln mit Qt 3D – ist ein an Unity und PowerPoint angelehntes Werkzeug, das Entwicklern einen dedizierten Editor zum Erzeugen von "Szenen" in 3D zur Verfügung stellt. Diese Szenen lassen sich mit Logik für einfache Animationen ausstatten.

Dieser Artikel setzt Grundkenntnisse der Arbeit mit Qt voraus. Allerdings unterscheidet sich der Workflow von Qt 3D Studio jedoch vom klassischen Qt, sodass umsteigende Programmierer zunächst einen genaueren Blick auf das Tool werfen sollten. Das Erzeugen benötigter Bilder-Assets mit Blender ist derweil eine Aufgabe, die vorzugsweise Grafiker übernehmen sollten – die nachfolgenden Beispiele beschränken sich daher auf die Verwendung von Vorlagen, die dem Produkt beiliegen.

Videotutorial zu Qt

Ein kostenpflichtiges Videotutorial des Autors zur Cross-Plattform-Entwicklung erklärt das Programmierframework im Detail.

Wer normalerweise unter Linux arbeitet, muss zum Start zahlreiche Kompilierungen über sich ergehen lassen, vor denen selbst Qt warnt. Für erste Gehversuche empfiehlt sich daher der Einsatz von Windows 10 oder macOS mit aktualisierten Grafiktreibern. Qt 3D Studio lässt sich dann einfach, wie in den Abbildungen 1 und 2 gezeigt, über die Checkboxen im Maintenance Tool installieren. Zu beachten ist dabei, dass die Laufzeitkomponenten zum Zeitpunkt der Abfassung dieses Artikels nur mit Qt 5.11 funktionieren.

Abb. 1: Die zweite Version des Qt 3D Studio liegt seit Kurzem vor ...
Abb. 2: ...weiter unten finden sich zusätzliche erforderliche Komponenten.

Nach dem Start von Qt 3D Studio erscheint eine Kurzanleitung, die sich überspringen lässt. Mit einem Klick auf den Button Load Sample Project wird die .uip-Datei mit dem Projektbeispiel geladen. Qt 3D Studio bereichert die Welt des Qt-Programmierers um ein weiteres Dateiformat namens uip: Es enthält diverse Metadaten, nicht aber die eigentlichen Assets.

Mehr erfahren!

Die Qt Company bietet eine sehr detaillierte Besprechung der verschiedenen Möglichkeiten des Werkzeugs an. Wer mehr zu den im Artikel gezeigten Ausführungen erfahren möchte, sollte die Dokumentation definitiv lesen.

Dies ist insofern problematisch, als das "Umspeichern" der .uip-Datei über die Menüoption Save as oder Save as Copy zu einem nicht mehr funktionierenden Projekt führt. Daher ist es erforderlich, in den Ordner C:\Qt\Tools\Qt3DStudio-2.0.0\examples\studio3d zu wechseln und SampleProject an einen anderen Platz im Dateisystem zu kopieren. Anschließend sollte das Projekt aus dieser Kopie geladen werden – denn Qt 3D Studio hat die unangenehme Eigenheit, das Sample von Zeit zu Zeit zu überschreiben.

Bei ausreichend hoher Bildschirmauflösung präsentiert sich die in Abbildung 3 gezeigte Szene. Über einen Klick auf den grünen Play-Button in der Toolbar startet ein erster Durchlauf des Programms.

Abb. 3: Das Übungsbeispiel zeigt ein (animiertes) Tachometer

In der Spalte am linken Bildschirmrand finden sich – vergleichbar mit der Foliendarstellung in PowerPoint – drei Quader in Grün, Blau und Grau, die je eine Slide beschreiben. Die Slides dienen wie in PowerPoint als Basiselement der Präsentation. Alle in einer Szene enthaltenen Folien "erben" zudem die diversen im Master angelegten Elemente. Der Master-Bearbeitungsmodus öffnet und schließt sich per Klick auf den grünen Quader.

Auf der rechten Seite der Qt-3D-Studio-Oberfläche finden sich zwei Toolboxen. Nach Aktivierung des Tabs Project öffnet sich eine Liste aller im Projekt enthaltenen Assets. Dieses Steuerelement nimmt Eingaben per Drag&Drop entgegen. Abgelegte Steuerelemente werden prinzipiell ins Projekt-Stammverzeichnis kopiert, um die Originaldatei zu schützen. Auf der Unterseite findet sich die in Abbildung 4 gezeigte Rubrik, die von Qt bereitgestellte Elemente lädt.

Abb. 4: Diese Toolbar stellt die diversen Beispielassets bereit.

Über das Symbol für Bilder lässt sich ein Betriebssystemfenster aufrufen, das Zugriff auf den Unterordner Logos gewährt. Dort können die gewünschten Assets zum Laden ausgewählt werden – sie erscheinen sodann mit grauem Hintergrund in der Projects-Liste.

Von eigenen Elementen

Der Import eigener Modelle in Qt 3D Studio gelingt nur dann reibungslos, wenn Anweisungen zur richtigen Einstellung häufig verwendeter Grafikprogramme berücksichtigt werden.

Qt 3D Studio unterscheidet sich insofern von Qt Creator, Visual Studio und Co., als dass die rechts oben eingeblendete Projektübersicht die Inhalte der aktuellen Szene nicht anzeigt. Diese erscheinen stattdessen im unten links eingeblendeten Timeline-Fenster.

Elemente lassen sich mehr oder weniger beliebig verschachteln. Das Logo aus dem Beispiel ist im Element Road3D abgelegt, um die dort angelegten Shader zu seiner Darstellung zu verwenden. Abbildung 5 zeigt, wie die Bitmap in der Mitte des Objekts schwebt.

Abb. 5: Das Element ist in der Szene angekommen.

Das Element in der Timeline wird durch einen Klick markiert. Der rechts davon platzierte Eigenschaftendialog – Rubrik Inspector Control – ist danach mit der Bitmap verbunden.

Qt 3D Studio unterscheidet sich wesentlich von klassischen GUI-Design-Werkzeugen. Die einzelnen Elemente werden in einer dreidimensionalen Szene angeordnet, weshalb ein nach dem in Abbildung 6 gezeigten Schema arbeitender Shader zum Einsatz kommt. Dabei ist zu beachten, dass die Reihenfolge der hier gezeigten Operationen in "Matrixdarstellung" umgekehrt ist – es geht nur um die logisch richtige Präsentation.

Abb. 6: Dem für 3D-Programmierung typischen Ablauf folgt auch Qt 3D Studio.

Die Befehle zum Anpassen von Skalierung und Rotation tun, was ihre Namen versprechen: Sie können die Größe des Elements mehr oder weniger nach Belieben anpassen. Das mit der Maus erfolgende Verschieben in der Szene verändert den Wert des Attributs Position. Interessanterweise verändert sich dabei auch die Helligkeit des Objekts. Dies liegt daran, dass Qt 3D Studio mit einer vollwertigen 3D-Engine rechnet, und dass das Logo von einer Lichtquelle beschienen wird, die nicht die gesamte Szene gleichermaßen ausleuchtet.

Über den Leave-Knopf verlässt man den Master, um in die Szene mit dem Tachometer zurückzukehren. Erneutes Klicken auf Play führt dazu, dass sich das Tachometer nach wie vor verändert. Nun ist allerdings das Qt-Logo zu sehen, dass außerdem vom vorbeiziehenden Zeiger beleuchtet wird.