3D-Modellierung mit Blender

Wer einen guten und kostenlosen Einführungskurs in Blender (= 3D-Modelle erstellen) sucht: Dazu kann ich uneingeschränkt den edX-Kurs „Basic 3D Modeling using Blender“ (IIT Bombay) empfehlen, den ich gerade erfolgreich absolviert habe (Link Zertifikat). Der Arbeitsumfang war auf 4 Wochen mit 4-6 Stunden/Woche angelegt (ich habe mir mehr Zeit gelassen) und gliederte sich in 4 Kapitel:

1 Interface: Oberfläche Blender, Tastenkombinationen, verschiedene Views etc.

2 Transformation: Einfache Objekt-Manipulationen vorhandener Objekte entlang X/Y/Z-Achsen via Grab, Rotate und Scale / Umgang mit der Kamera und Rendering / Object Mode und Edit Mode / Mesh (Vertices, Edges, Faces) mit Grab, Rotate, Scale / Loop Cuts

3 Basic Modeling: Erstellen von einfachen Objekten wie Tisch & Stuhl mittels Extrude, Loop Cuts und Anwenden der Prinzipien aus Kapitel 2 / Benutzen von Subdivision Surface Modifiers & Edge Loops und Smooth Shading / Benutzen von Array Modifiers für sich wiederholende Formen

4 Material, Texture, Light: Farben, Effekte wie Spiegelungen & Transparenz / Texture für ‚Look und FEEL‘ / Lichtquellen mit verschiedenen Konfigurationen (Farben, Energy, Distance, Schatten, Winkel, 3-point-lighting)

Bei derartigen Themen sind aus didaktischer Sicht praktische Übungen besonders wichtig, und die gab es reichlich und gut nachvollziehbar bei steigendem Schwierigkeitsgrad. Insofern wäre der Kurs auch interessant für motivierte Personen ohne Vorkenntnisse. Das in MOOCs übliche Video-Format war für die Thematik ausgesprochen geeignet; dazu wurden die Folien mit den Essentials (zum Nachschlagen) dankenswerterweise auch als PDF zur Verfügung gestellt. Dem Dozenten mit seiner ruhigen konzentrierten Art und guten Erklärungen hörte man gerne zu; nützlich waren auch die stets angebotenen Untertitel.

Foto Blender-Beispiele

Sehr gerne nutze ich mein Blog für etwaiges späteres Nachschlagen, daher hier einige Stichworte zu wichtigen Tastenkombinationen:

Elementar:
* Maus muss sich über Fensterteil „3D View“ befinden, damit Tastenkombinationen funktionieren
* Auswahl über rechte Maustaste (mehrere mit Shift), Bestätigen mit linker Maustaste
* Rückgängig: Strg+Z

Front-/Back-Ansicht: 1/Strg+1
Top-/Bottom-Ansicht: 7/Strg+7
Rechte Seite/Linke Seite Ansicht: 3/Strg+3
Ansicht Ortho/Perspektive: 5
Quad View: Strg+Alt+Q
Orbit 3D View: Hold Scroll Button+Move
Pan 3D-View: Shift+ Hold Scroll Button+Move
Rendering: F12, dann F3
Kameraansicht: 0, Strg+Alt+0

Wechsel Object Mode und Edit Mode: Tab
Wireframe Mode: Z
Auswählen von Objekten (gelbe Umrandung): rechte Maustaste
Abbrechen von Aktionen: ESC, ggf. Strg+Z
Cursor zuück zu Center of grid, Back to origin: Shift + C
Hinzufügen von Objekten: Shift+A (günstig: vorher Shift+C)
Objekt löschen: X

Grab: G+Z für Verschieben entlang Z-Achse / G+Shift+Z für Verschieben entlang X- und Y-Achse
Rotate: R+Y+45 z.B für Drehen um Y-Achse um 45 Grad
Scale: S+0.3 z.B. für Objektgröße auf X=0.3, Y=0.3, Z=0.3 setzen / S+Z+0.3 für das Verkleinern der Objekthöhe (Z) auf 0.3

Ganzes Modell auswählen (alle vertices, edges, faces): A
Edit Mode, wahlweises Auswählen zum Verändern der Form: Strg+Tab / Vertex oder Edge oder Face / Rechtsklick (ggf. Shift) / weiterer Befehl / Linksklick
Edit Mode, Extrude: E (nach Auswählen einer o. mehrerer der Variante vertices, edges, faces) – Vorteil im Ggs. zu Scale: neue Loop Cuts entstehen
Edit Mode, Loop Cut: Strg+R / Linksklick / Verschieben / Linksklick
Kopieren von Objekten aus einem Blender-File in ein anderes: Strg+C

Subdivision Surface Modifier: Werkzeugsymbol / Add modifier / Generate / Subdivision Surface (anschließend Apply in Object Mode) – Falls dabei schwarze Rillen auftreten: im Edit Mode „A“ für Auswählen aller Vertices, dann Strg+N – Anschließend Edge Loops hinzufügen

Object Mode, Smooth feature: Transform / Smooth (Rückgängig mit Flat)

Array modifier: Werkzeugsymbol / Add modifier / Generate / Array / Fixed Count = … / Constant Offset etc. – Wichtig: Objekt nicht vorher in Object Mode skalieren!
Tip: Add / Empty / Plain Axes und dem Objekt über „Object Offset“ zuordnen, dann die Transformationen (Rotate o.ä.) am Empty machen

2 verschiedene Farben zuordnen: 2. Material anlegen, dann im Edit Mode die 2. Farbe den gewünschten Faces zuordnen, Bestätigen mit Assign

Texture zuweisen: vorher Material zuweisen, Anlegen über New/Open/..jpg – Ergebnis erst beim Rendern sichtbar

Background Image verwenden als Vorlage: +-Zeichen rechts oben in 3D View anklicken / Background Image anhaken / 1 für Frontansicht, 5 für Ortho / Größe anpassen (Hilfreich: http://blender.freemovies.co.uk/modelling-making-a-chess-set/)

Ausprobiert: USDZ-Format für Augmented Reality

Dank ARKit2 ist es möglich, ein 3D-Modell, das in das neue USDZ-Format konvertiert und auf einem Webserver abgelegt wurde, von iOS12-Geräten (mittels Safari) aufzurufen und als AR-Element in die reale Welt einzufügen. Technisch möglich wird dies durch die neue Quick-Look-Funktionalität in iOS12. Dort kann das Objekt dann verschoben bzw. vergrößert oder verkleinert werden, und der Betrachter kann es aus verschiedenen Winkeln anschauen.

Mein Beispiel (Die USDZ-Datei befindet sich auf meinem Webserver.):


usdz-Symbol
Sehen Sie dieses Symbol rechts oben im Nilfperd-Bild?
Falls nicht, diesen Blogbeitrag von einem iOS12-Gerät mittels Safari aufrufen. Wichtig: Das verwendete iOS-Gerät muss ARKit2 technisch unterstützen! Eine Liste passender Geräte findet sich relativ weit unten auf dieser Webseite: https://www.apple.com/de/ios/augmented-reality/

  1.  Nilpferd-3D-Modell anklicken, Laden abwarten
  2. „AR“ antippen, Objekt in reale Welt (helle Umgebung) einsetzen
  3. Ggf. AR-Objekt verschieben, vergrößern, um das Objekt herumgehen

 


Das Nilpferd hat bereits „App-Erfahrung“ sowie als VR-App als auch als AR-App.
Ursprünglicher Ausgangspunkt war der 3D-Scan des kleinen Nilpferdes per iOS-APP TRNIO, damals exportiert im PLY-Format.
Zwischendrin erfolgte eine Konvertierung nach DAE, und dieses Format wurde nun auch verwendet für die Konvertierung nach USDZ, und zwar per Webdienst Vectary (https://www.vectary.com/). Alternativ hätte man auf einem MAC per Xcode10 und Terminal App eine „OBJ“-Datei nach USDZ konvertieren können (Schema: xcrun usdz_converter ~/Desktop/myFile.obj ~/Desktop/myFile.usdz)

Erst Cardboard und Samsung Gear VR, nun Oculus Go

3 VR-Brillen

Eine logische Erweiterung meiner VR-Tests mit Smartphone (also relativ bezahlbare niederschwellige VR) ist die im Juni 2018 in Deutschland auf den Markt gekommene Oculus Go. Dieses VR-Headset benötigt kein Smartphone (hat einen vergleichbaren Chip integriert, braucht also auch keinen PC) und greift auf die Apps des Oculus Stores zu (https://www.oculus.com/experiences/go/ – weitgehend analog der Samsung Gear VR). Wie bei Smartphone-VR gibt es „nur“ 3DoF, also kein Positional Tracking. Im Lieferumfang enthalten ist ein Hand-Controller, der zum Steuern der Menus und Anwendungen benutzt/benötigt wird. Für das Einrichten der Oculus Go ist allerdings wiederum eine Smartphone-App und ein Facebook-Account oder Oculus-Account nötig. Der Betrieb der Oculus Go erfolgt dann entweder mit W-LAN (keine „Captive Portals“ möglich, bei denen man sich anmelden müsste) oder – nach Download von Inhalten – teils auch offline.

Test einiger kostenloser Oculus Go Apps
Das App-Angebot im Rahmen des Einrichtens enthielt „Dead and Buried“ , was ich schon von der Samsung Gear VR her kannte, mich dennoch wieder überrascht hat bzgl. des hohen Grades an Immersion (vielleicht auch weil der Oculus Go Hand-Controller so gut funktioniert). Ebenfalls sehr immersiv ist die „Epic Roller Coaster“ App, bei der ich allerdings zum allerersten Mal im Rahmen meiner VR-Tests so etwas wie Motion Sickness verspürte – insofern war hier der Spaßfaktor gering. „Guided Meditation VR“ (https://www.oculus.com/experiences/app/929143807179080/) wäre eine schöne Idee, konnte mich aber aufgrund der Optik noch nicht überzeugen, da schaue ich mir lieber die reale Welt an – vielleicht wäre sie aber für den Winter geeignet…?

Aufgrund der immer noch zu geringen Auflösung der Brillen wirken Real World 360-Grad-Filme und 360-Grad-Bilder auch bei der Oculus Go gerastert (Fliegengittereffekt) bzw. Videos ohne Download noch dazu oft ruckelig / verschwommen. Bei „Invasion“ , dem extra für VR erstellten Animationsfilm, ist das eher kein Thema – dieser gefällt mir auch auf der Oculus Go sehr gut (Download über Within App). Interessante Anwendungen innerhalb der Within-Player-App waren für mich „The People’s House – inside the White House with Barack and Michelle Obama“ (läuft 22 min) und das künstlerisch gestaltete „Within Original“ Musikvideo „Hallelujah“ (remastered from 6DoF to Mobile VR – daher leider ohne räumliche Bewegung, die durch die Lichtfeldkamera sonst möglich wäre). Die App „International Space Station Tour“ (https://www.oculus.com/experiences/app/1055629531142378/) bietet großen Detailreichtum und ist für am Thema Interessierte sicherlich eine Bereicherung.
Medizin-Apps gibt es offensichtlich schon jede Menge, ein kostenloses Beispiel ist der Ausschnitt „Skeletal system“ aus der „Human Anatomy VR“ (https://www.oculus.com/experiences/app/1658650407494367/). Dort kann man mittels verschiedener Funktionen sein Wissen testen bzgl. der Benennung von Knochen des menschlichen Körpers. Von der 360-Grad-Umgebung macht diese App anderen Gebrauch als die App „Body VR“ (= Travel through the bloodstream)(https://www.oculus.com/experiences/app/869485659814410/).

Eigene 360 Grad Bilder
Bei Google Cardboard und Samsung Gear VR nutzt man ja das Smartphone und hat somit direkten Zugriff auf die dortigen 360-Grad-Bilder, bei der Oculus Go braucht man das mitgelieferte USB-Kabel: Per Anschluss an einen Windows-PC ließen sich (kurz Oculus aufsetzen und Datenzugriff erlauben) meine mit der Kamera „Samsung Gear 360“ erstellten 360-Grad-Bilder im Windows Explorer auf die Oculus Go (Ordner Pictures) kopieren. Die meisten wurden sofort als 360 Grad erkannt und gekennzeichnet, einige „leisteten aber etwas Widerstand“ und ich musste das Format selbst setzen.
Innerhalb der Anwendungen der Oculus Go erstellte Screenshots kann man übrigens bei Datenzugriff aus dem Verzeichnis oculus/Screenshots auf seinen PC kopieren.

Neuer Webbrowser in VR
Getestet habe ich auch „Firefox Reality“ , die gerade erst erschienene  Version 1.0 von Mozillas Browser für VR-Headsets: Mit Hand-Controller war das Eingeben von URLs kein Problem, die Spracheingabe war etwas gewöhnungsbedürftig: heise.de musste ich buchstabieren, die Tagesschau hingegen wurde sofort erkannt. Erstaunlich gut ist die Optik, denn normalerweise vertragen sich VR-Brillen und Text (auf Webseiten ein Kernelement) nicht besonders gut. Das Konzept, die dargestellte Webseite in verschiedenen Formaten anzuzeigen (Vergrößerung 0.5, 1.0. 2.0 etc. zusätzlich zum Vergrößern des Browser-Fensters mittels Hand-Controller) funktionierte gut. Die 100-Sekunden-Tagesschau war mit Oculus Go in guter Bild- und Tonqualität, was ich so nicht erwartet hätte. Dennoch würde ich mir keine längere Suche antun, was aber weniger mit Firefox Reality als mit der – wie ich finde – sehr unbequem zu tragenden Oculus Go zusammenhängt.
Entdeckt habe ich durch die Startseite von „Firefox Reality“ das Format „PanoMoments“: weder Foto noch Video, eher VR time Loop, und muss man tatsächlich mal gesehen haben, um es zu verstehen…
Einen Bericht zu Firefox Reality liefert heise: https://www.heise.de/newsticker/meldung/VR-Browser-Mozilla-veroeffentlicht-Firefox-Reality-1-0-4167174.html

Oculus Go ScreenshotsScreenshots aus Firefox Reality, Oculus Gallery, Body VR, Human Anatomy VR, ISS Tour

Mein Fazit im Vergleich mit Cardboard und Samsung Gear VR

Das Headset Oculus Go liefert die beste Bild-, Ton- und Navigations-Qualität – ist aber leider sehr unbequem und hat bei Betrieb bei mir immer noch einen chemischen Geruch. Die Version mit 32GB kostet 219 Euro und ist damit deutlich günstiger als die High-End-VR-Brillen Oculus Rift und htc Vive, die zusätzlich einen starken PC benötigen.

Einige Vorteile

  • einfache Installation
  • alles integriert, kein Zusammenbauen nötig vor Benutzen
  • gute Bildqualität
  • integrierter guter Ton, der auch Raumklang bietet
  • sehr gut funktionierender Hand-Controller
  • App-Paket mit kostenlosen Apps gleich beim Einrichten angeboten
  • alleinige Funktion als VR-Brille, daher keine störenden Smartphone-Features

Einige Nachteile

  • sehr schwer (im Vergleich  zu Cardboard und Samsung Gear VR)
  • kein Drehregler wie bei Samsung zum Scharfstellen, daher Scharfstellen über Verschieben der Position der Brille auf den Wangenknochen, was für unbequeme Haltung sorgt
  • unangenehmer Geruch

Interaktive 360-Grad-Bilder mit Marzipano

Lange habe ich nach einem Viewer gesucht, der auf der eigenen Webseite 360-Grad-Bilder darstellen kann. Marzipano scheint mir hierzu eine gute Lösung, zumal man bei Bedarf zusätzliche Info-Symbole mit Erläuterungstexten einbauen kann sowie mehrere 360-Grad-Bilder untereinander verlinken kann. Nützlich ist auch die „Autorotate“-Funktion, die man jedoch per Maus jederzeit übersteuern kann. Alles in allem also eine gute technische Voraussetzung für die Gestaltung von Lernszenarien.

Über http://www.marzipano.net/ und den Button „Marzipano Tool“ kann man eigene 360-Grad-Bilder (in meinem Fall die mit der „Samsung Gear 360“ erstellten Bilder) hochladen und interaktiv ausstatten bzw. die Viewer-Anzeige festlegen. Über „Export“ wird ein zip-File erzeugt, das man dann entpackt auf den eigenen Webserver legen oder auch lokal im Browser betrachten kann.
Hier ein Beispiel anhand einiger Urlaubsbilder von der Ostsee mit zwei verschiedenen Konfigurationen für die gleiche Zieldatei:

A) Eingebunden als iframe

B) Als Link zum Vollbild mit diversen View Control Buttons: https://www.idethloff.de/fotos/360-timmendorf-autorotate/app-files/

Eine ausführliche Erläuterung der Marzipano-Möglichkeiten incl. eines sehr guten Erklärvideos findet man auf dem Landesbildungsserver Baden-Württemberg: http://www.schule-bw.de/faecher-und-schularten/gesellschaftswissenschaftliche-und-philosophische-faecher/geographie/material/geographie-interaktiv/marzipano

 

Projekt: Nilpferd in Augmented-Reality-App einfügen

Hello AR U3D App im Einsatz
Das Ergebnis: Modifizierte Hello AR U3D App im Einsatz (zum Vergrößern anklicken)

Es hilft nichts: Wenn man im E-Learning up to date bleiben möchte, muss man ständig neue Technik kaufen. So auch in diesem Fall, um aktuelle Augmented-Reality-Apps auszuprobieren. Sowohl mein Samsung S6 als auch mein iPad Air2 waren gerade die Geräte, die nicht mehr bzgl. ARCore/ARKit unterstützt werden. Insofern Kauf von S9 in der Hoffnung, wieder für ca. 2 Jahre aktuell zu sein.

Vorhandene Apps ausprobieren ist eine Sache, selber so etwas zu gestalten eine ganz andere Sache. Nach „Blooms Taxonomie“ wären wir da schon auf einer recht hohen Ebene …

Sehr beeindruckend finde ich die AR-Möglichkeiten mittels des recht neuen ARCore für Android mit den Merkmalen „Umgebungserkennung, Bewegungserkennung und Lichtabschätzung“: Gut gefallen haben mir z.B. die Apps „Google Expeditionen AR“ (Vincent Van Gogh-Gemälde u.v.m.), „NASA SpacecraftAR“ oder „Paint AR“ (virtuelle Luftschlangen incl. Schatten mit integrierter Recording-Funktion u.v.m.).
Will mann nun ARCore-Apps selbst erstellen, gibt es netterweise für Unity 3D seitens Google hier ein einfaches „Hello AR“-Beispiel. Dann muss man „nur noch“ in Unity 3D die entsprechenden AR-Konfigurationen machen, um dieses Beispiel dann auf ein für ARCore passendes Handy (und das sind derzeit eben leider nur ganz wenige Modelle, s.a. https://developers.google.com/ar/discover/supported-devices) zu übertragen.

Idee
Mein Ziel war, ähnlich den o.g. Apps mein Stofftier-Nilpferd in eine ARCore nutzende Android-App zu bekommen, d.h. das Nilpferd-3D-Modell später in beliebigen realen Räumen einfügen zu können, näher darauf zuzugehen bzw. sich davon wegzubewegen sowie es im realen Raum als 3D-Modell wahrzunehmen. Die Umsetzung dieser Idee war dank des „Hello AR“-Beispiels (und vermutlich meiner Vorkenntnisse in Unity 3D) erstaunlich einfach.

Umsetzung
Verwendet habe ich für das Ganze meine bereits für VR genutzte Unity 3D-Version „2017.3.1f1 Personal 64bit“. Hilfreiche Anleitungen für ARCore waren:

Was leider nicht geklappt hat, war „Instant Preview“: https://developers.google.com/ar/develop/unity/instant-preview
Ausschlaggebend ist wohl „On Windows machines with an integrated GPU, the Unity Editor’s video feed is not mirrored back to your phone.“ Aber da es nicht lange dauert, per „Build and Run“ das App-apk zu erzeugen und per USB aufs Handy zu übertragen, kann ich verschmerzen, dass der integrierte Player in Unity 3D (im Gegensatz zur VR-Progammierung, wo er gut klappt), hier nicht mitmacht.

Ein (nicht perfektes, aber zumindest funktionierendes) 3D-Modell des Stofftier-Nilpferdes hatte ich ja schon für meine VR-App verwendet und somit konnte ich es in Unity 3D auch für das AR-Projekt nutzen: Konkret habe ich dafür einfach im Inspector im „Hello AR Controller“-Skript bei „Andy Android Prefab“ das kleine grüne Android-Modell durch mein Nilpferd-Modell ersetzt. Korrigieren musste ich anschließend nur noch den Nilpferd-Modell „Scale Factor“, weil das Objekt sonst so groß im Raum erschien, dass weder Umgebungs- noch Bewegungserkennung richtig funktionierten.

Ausprobieren der modifizierten AR-App
Unterwegs im Waldpark Mannheim habe ich gestern nachmittag einige Male die von mir bzgl. des Nilpferdes angepasste ARCore App „Hello AR U3D“ ausprobiert. Im Folgenden drei Screenshots aus der App als animiertes gif – Start war zu Hause im Flur (die Türstopper sind „echt“, das Nilpferd ist per AR eingefügt). Was man auf den Bildern leider nicht sieht, ist, dass es sich bei dem eingefügten Nilpferd-Modell um ein Objekt handelt, um das man mit Blick aufs Handy-Display herumgehen kann, wobei sich die Perspektive ändert. Ebenso möglich ist es, sich von dem Objekt zu entfernen bzw. sich zu nähern, wodurch es dann größer erscheint und man mehr Details sieht. Das zu zeigen wäre nur per Screenrecording möglich gewesen, was mir jedoch zu aufwändig war.

Wie schwierig es wäre, mit Unity 3D & ARCore nun eine sinnvolle Lern-App zu erstellen (die ja deutlich mehr Features benötigen würde als in dem Beispiel-Skript enthalten sind), kann ich an dieser Stelle noch nicht sagen. Wichtig wären auf jeden Fall zuvor gut erstellte 3D-Modelle.

Nilpferd unterwegs in AR
Screenshots aus modifizierter Hello AR U3D App