Freitag, 20. März 2015

Charakter in Unity integrieren

Nach einigen Feinarbeiten am 3D-Modell steht nun der Export nach Unity an. Dazu habe ich den Charakter in Blender im Autodesk FBX (.fbx) exportiert. Diese Datei enthält das 3D-Modell, die Armature (Bones) und alle Animationen.
In Unity kann man diese Datei anschließend per Drag & Drop zu den Assets ziehen. Nun muss man die Texture noch einmal neu Verknüpfen. Dazu in der Hierarchy auf der linken Seite den Charakter auswählen, dann den eigentlichen Body (Mesh) anklicken. In meinem Fall heißt er eye.green (durch das importierte Auge, gab es Bennenungskomplikationen). 
















Beziehungsweise hat Unity meinen Charakter in fünf Dateien (Mesh Part0 - 1) unterteilt, da mein Model zuviel Vertices (Punkte) bzw. Faces (Flächen) besitzt. Durch mehrfache Anwendung des Subdivision Surface Modifiers hab ich meinen Charakter in sehr viel Polygone unterteilt, was mir jetzt nachteilig erscheint. Deshalb der Tip, sparsam mit diesem Modifier umgehen.

Hat man das Mesh ausgewählt, kann man im Inspector auf der rechten Seite die Textur verknüpfen. Dazu einfach die PNG-Texturdatei, welche auch in Blender verwendet wird, in das Feld rechts unten ziehen, bzw. über "Select" auswählen.















Im Inspector kann man ebenfalls, die Positionierung und Größe des Charakters auswählen. Wir haben ein Terrain gebastelt und die beiden Modelle auf einem Berg positioniert. Dazu mussten wir sie noch um den Faktor 200 vergrößern.














Auf dem vorherigen Screenshot sind auch schon die ganzen Animationen gelistet, die Blender ohne Probleme übernommen hat. Dabei ist es wichtig, dass man in den Import Settings unter "Rig" den Animation Type auf "Legacy" einstellt (Die Import Settings erreicht man, indem man auf den Charakter unter Assets klickt).








Legacy bedeutet, dass die Animationen aus Blender vererbet werden. Unity bietet auch die Möglichkeit einer automatischen Knochenerkennung. Stellt man den Animation Type auf "Humanoid" erkennt Unity die Bones des 3D-Modells und verknüpft sie mit dem sogenannten Unity Avatar.

Unter dem Punkt Animations, kann man alle Animationen des Modells ansehen, abspielen und sogar schneiden. In meinem Fall musste ich den Jab um einen Frame am Anfang kürzen. Auch kann man Loop Frames automatisch einfügen lassen, um die Bewegung runder darzustellen.















Tip: Bei mehreren Modellen, für jedes einen eigenen Ordner in den Assets anlegen. Jeden Charakter einzeln nacheinander einfügen, Textur zuweisen und positionieren.

In Unity sah das Ganze dann so aus:












Mein Charakter musste mit dem Rücken zu dem anderen Charakter positioniert werden, damit die Animationen später im Spiel auf die richtige Seite abgespielt werden. Mehr dazu aber im nächsten Beitrag...

Keine Kommentare:

Kommentar veröffentlichen