Character Creator to Unity – Wie man eigene Blendshapes für Facial Expressions im FBX exportiert
Je nach verwendetem Basis-Charakter im Character Creater, hat dieser mehr oder weniger nützliche Facial Expressions, die nach dem Import in Unity als Blendshapes zur Verfügung stehen. Wir zeigen, wie man sich eigene Blendshapes erstellt.
Der Character Creator von Reallusion hat mächtige Tools, um 3D Charaktere zu erstellen, auszustatten, mit Animationen und Gesichtsausdrücken zu bestücken und diese „game-ready“ als FBX zur Verwendung in Game-Engines zu exportieren.
Hinweis: Optimiert man den Character mit der Option „Optimize and Decimate“ oder fügt beim Export LODs hinzu, sind u.U. keine Blendshapes für Gesichtsausdrücke enthalten.
Importiert man das FBX in Unity, kann man am Objekt auf die Blendshapes zugreifen. Doch je nach verwendeten Basis-Charakter unterscheiden diese sich. Mal hat man wunderbar vorbereitete und gut benannte Blendshapes, die schnell einen kompletten Gesichtsausdruck zaubern, mal hat man unzählige, einzelne Blendshapes, die nur in Kombination einen sinnvollen Gesichtsausdruck ergeben.
In folgendem Screenshot sehen wir zwar unzählige Blendshapes, diese sind aber so benannt, dass man erkennt, was diese bewirken.
So wollen wir es haben. Das Ziel ist es nun also, in CC4 einen speziellen Custom Blendshape anzulegen, der genau einen Gesichtsausdruck enthält, um in Unity schnell darauf zugreifen zu können.
Verwendete Version:
Dieser Artikel bezieht sich auf Reallusion Character Creator Version 4.4.1 und Unity 2022.3.18.
CC4 – Gesichtsausdruck erstellen
Zunächst kümmern wir uns um den gewünschten Gesichtsausdruck. Dazu laden wir einen Charakter und öffnen den Facial Editor. Diesen finden wir im Modify-Tab unter Motion Pose.
Dort können wir unter Muscle die Gesichtsmuskeln manipulieren, unter Expression aus vorgefertigten Expressions Gesichtszüge auswählen oder unter Modify bereits vorhandene Blendshapes verwenden, um den gewünschten Ausdruck zu erhalten. Oder aus einer Kombination aus allen Möglichkeiten.
CC4 – Facial Profile Editor
Nun können wir zum Facial Profile Editor wechseln. Dieser kann über Windows > Facial Profile Editor oder mit F8 eingeblendet werden. Hier werden alle aktuellen Facial Expressions des Charakters angezeigt – ausgegraut, da zunächst read-only.
Bevor wir jedoch die Expressions bearbeiten, müssen wir eine Standardeinstellung ändern.
Die aktuelle Pose in den Facial Profile Editor übernehmen
Damit unser zuvor erstellte Pose (Gesichtsausdruck) vom Facial Profile Editor nicht zurückgesetzt wird, müssen wir das in den Settings einstellen. Dazu klicken wir auf das Zahnrad-Symbol.
Es öffnet sich der Preference-Tab. Dort scrollen wir zum Facial Profile Editor und wählen „Keep Origin Pose“.
Einen neuen Custom Slider anlegen im Edit Mode
Nun können wir im Facial Profile Editor in den Edit-Mode wechseln. Dazu klicken wir auf Edit Expression.
Im linken Bereich sind die Kategorien / Gesichtsbereiche aufgelistet, im rechten Detailbereich finden wir dann jeweils die darin gespeicherten Expressions als Slider dargestellt. All diese Expressions werden als Blendshapes mit dem FBX exportiert.
Ganz am Ende der Liste gibt es eine Kategorie Custom. Diese ist für die eigenen Expressions gedacht. An diesem Charakter sind bereits einige vordefiniert. Hier wollen wir einen neuen Slider hinzufügen, der dann ebenfalls als Blendshape exportiert werden soll.
Dazu wählen wir „New Slider“.
Es öffnet sich der Expression Slider Editor. Dort müssen wir eine Kategorie und einen Namen für den Morph (Expression / Bezeichner des Blendshapes) angeben.
Als Category können wir Custom angeben, wenn wir den neuen Slider unter der Custom-Kategorie finden wollen. Wir können aber genauso gut eine eigene Kategorie dafür anlegen. Das hat auf den späteren FBX-Export keine Auswirkung.
Als Morph Name vergeben wir den Namen, den der Slider bekommen soll und unter dem wir später in Unity den Blendshape finden wollen.
Die restlichen Einstellungen können wir so lassen. Mit Klick auf OK wird der Slider erstellt.
Nun finden wir unter der Kategorie Custom den neu erstellten Slider Kiss.
Im Facial Profile Editor sind wir jetzt fertig. Als nächstes werden wir den 3D-Character als FBX exportieren.
Export als FBX
Unser Charakter ist bereit für den Export. Dazu wählen wir File > Export > FBX > Clothed Character. Es öffnet sich der Export-Dialog.
Hier wählen wir als Target Tool Preset die Unity 3D Engine. Dadurch werden die Export-Settings für die Engine optimiert.
Hinweis: Klickt man auf das Zahnrad neben Target Tool Preset, öffnen sich die Export-Details in der rechten Spalte. Schaltet man nun durch die Tool Presets, kann man gut erkennen, wie sich die Export-Settings für jedes Tool ändern.
Unter FBX Options wählen wir zunächst, ob wir nur das Mesh oder Mesh and Motion exportieren wollen. In diesem Beispiel haben wir keine Animationen eingebunden, daher wählen wir hier Mesh.
Standardmäßig wähle ich für die weiteren Optionen Delete Hidden Faces, Bake diffuse and specular maps from Digital Human Hair Shader und Use Subdivided Mesh.
Die restlichen Einstellung können wir so lassen.
Zum Schluss klicken wir auf Export, wählen einen Ordner und Dateinamen und lassen den Character Creator unser FBX erstellen. Dieses liegt dann zusammen mit einem JSON-File und den Texturen im gewählten Ordner.
Jetzt geht es weiter in Unity.
Import in Unity
Jetzt wollen wir das aus dem CC4 exportierte FBX in Unity importieren. Am bequemsten geht das mit dem offiziellem Auto-Setup Plugin für Unity.
Auto Setup:
Reallusion bietet ein Plugin für Unity an, das beim Import alle notwendigen Einstellungen macht und eine Reihe von Tools zum Optimieren und Ausschöpfen aller Features des CC4-Characters in Unity mitbringt.
In der Dokumentation findet man verschiedene Möglichkeiten für die Installation. Die für mich sinnvollste ist das direkte Beziehen des Packages von GitHub.
Haben wir das Auto Setup installiert, ziehen wir einfach den Ordner, in dem unser FBX liegt, in den für den Import angelegten Ordner CC Characters im Unity Projekt.
Einige Texturen müssen als Normal Maps markiert werden. Auch das wird einfach erledigt, wenn man auf Fix now klickt.
Als nächstes wählen wir Reallusion > Import Characters.
Es öffnet sich der CC/iC Importer. Dort werden alle über das Auto Setup importierten CC-Character aufgelistet.
Hinweis:
Immer wenn ein neuer Character per Auto Setup importiert wurde, muss man Reallusion > Import Characters durchführen, damit dieser auch im CC/iC Importer Tab auftaucht.
Blendshapes suchen
Jetzt können wir prüfen, ob unser Kiss-Gesichtsausdruck als Blendshape verfügbar ist. Die Blendshapes befinden sich am Unterobjekt CC_Base_Body unter der Component Skinned Mesh Renderer.
Am besten prüft man das im Hierarchy-Tab, da nur dort die Blendshapes nicht read-only sind.
Wir suchen also unter unserem Character das CC_Base_Body Objekt mit der Skinned Mesh Renderer Component. Dort befinden sich alle Blendshapes.
Irgendwo in der Liste finden wir schließlich die Blendshapes aus dem Custom-Ordner des Facial Profile Editors. Und unser neu erstellter Kiss-Slider ist als Blendshape dabei.
Der Gesichtsausdruck kann nun auch in Unity ganz einfach per Blendshape-Slider hergestellt werden.
Und das war es auch schon. Hat der Charakter nicht die passenden Expressions / Blendshapes, kann man sich ganz einfach selbst welche machen.
Ich hoffe wie immer, diese erstbeste Anleitung war hilfreich.
Quellen:
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen