Der Weg zum grünen Gesicht

Wir befinden uns am Anfang unseres Projektes, bei dem es darum geht, echte Statuen zu animieren und in einer AR-App interaktiv erlebbar zu machen.
Der Weg dahin besteht aus verschiedenen Zwischenschritten. Einer davon ist, ein 3D-Modell eines Gesichts über die Kamera so mit dem eigenen Gesicht zu verbinden, dass die Mimik auf das 3D-Modell übertragen wird und wir davon ein Video aufzeichnen könnte.

Für das Verbinden von Mimik und 3D-Modell testen wir die Game-Engine Unity 3D mit einem AR-Kit-fähigen iOS-Gerät. Unity bringt schon eine grüne 3D-Maske als Standard-Gesicht mit. Die Verknüpfung mit der eigenen Mimik erfolgt über sogenannte „Blend Shapes“. Die Maske hat für 52 vordefinierte Gesten, wie z.B. „linkes Auge zu“, schon die passende Animation angefertigt. AR-Kit erkennt an dem echten Gesicht, wie weit z.B. das linke Auge geschlossen ist, und passt dadurch in der 3D-Maske genau diese Animation entsprechend an.

Facetracking mit AR-Foundation in Unity

Für dieses Beispiel benutzen wir die Unity3D Version 2019.4.1711f1, diese können wir über den Unity Hub herunterladen

Im Unity Hub erstellen wir ein neues 3D-Projekt.

Für das Übertragen der eigenen Mimik auf das 3D-Modell benötigen wir die zwei Pakete „AR Foundation“ und „ARCore XR Plugin“ aus dem Paketmanager. Wir benutzen hier jeweils die Version 3.1.3.

Zurück im Hauptbildschirm können wir über die rechte Maustaste und „delete“ die Main Camera aus der Hierarchy entfernen.

Anschließend fügen wir dort über die rechte Maustaste und das XR Menü die drei Objekte „AR Session Origin“, „AR Session“ und ein „Default Face“ hinzu.

Über einen Rechtsklick im unteren Fenster legen wir im Ordner „Assets“ einen neuen Ordner „Prefabs“ an.

Das Default Face kann jetzt aus der Hierarchy durch Anklicken und Halten in den neuen Ordner gezogen und in der Hierarchy über einen Rechtsklick gelöscht werden.

Jetzt müssen wir in der Hierarchy die „AR Session Origin“ anklicken und im rechten Fenster auf „Add Component“ klicken und dann den „Face Manager“ auswählen.

Man sieht, dass in dem Facemanager noch kein Face Prefab eingetragen ist. Das holen wir jetzt nach und ziehen das Default Face durch Klicken und Halten aus unserem Prefab-Ordner an die entsprechende Stelle im Facemanager.

Unity Anwendung auf einem ARKit-fähigen Gerät ausführen

In Unity ist nun soweit alles erledigt. Um die Anwendung auf ein iPad oder iPhone zu übertragen, müssen wir noch die „Build Settings“ auf iOS umstellen. Diese befinden sich unter dem Reiter „File“.

Entweder über den „Edit“ Reiter und „Project Settings“ oder über den direkten Link „Player Settings“ gelangt man zu den Systemvoraussetzungen.
Hier unter iOS: Minimum „Version 13.0“, „Requires ARKit“ Support und bei Architecture „ARM 64bit“ auswählen.

Wenn man jetzt auf den Reiter File und „build and run“ klickt, wird eine iOS APP erstellt, die man mit dem Programm XCode öffnen kann.
Um sie von dort auf das Gerät zu bekommen, muss man das iOS-Gerät anschließen und vorher noch die passenden Zertifikate automatisch installieren lassen.


Anschließend kann man auf den Play-Button drücken und die App wird auf dem Gerät installiert. Dort wird jetzt das Default Face auf das eigene Gesicht übertragen und die Mimik miteinander verknüpft.

Von hier aus geht es weiter mit der Modellierung eines eigenen, eingescannten 3D-Modells. Dafür müssen wir alle 52 „blend shapes“ für ein eingescanntes 3D-Modell animieren.

Veröffentlicht am
Kategorisiert in Allgemein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert