Zum Hauptinhalt springen

Assets importieren

Nachdem wir unsere Modelle in Blender erstellt hatten, konnten wir sie einfach in den Projektordner von Unity ziehen. Unity erkennt .fbx-Dateien automatisch und erstellt daraus ein Asset. Trotzdem mussten wir ein paar Dinge beachten, damit die Modelle korrekt dargestellt werden.

Koordinatentransformation

Blender und Unity verwenden unterschiedliche Koordinatensysteme:

  • Blender: X = Seite, Y = vorne, Z = oben
  • Unity: X = vorne, Y = oben, Z = Seite

Deshalb mussten wir beim Export oder in den Import-Einstellungen darauf achten, dass die Modelle richtig ausgerichtet sind. Und zusätzlich musste man die Koordinatentransformation in den Unity Einstellungen anwenden. Import

Shader und Materialien

Da Unity und Blender verschiedene Shadersprachen verwenden (Blender: OSL, Unity: ShaderLab), konnten wir bestimmte Materialeffekte, die mit Shadern erstellt wurden, wie metallische Oberflächen oder feine Details in Steintexturen nicht direkt übernehmen. Deshalb haben wir uns entschieden, den Einsatz von Shadern auf das Nötigste zu beschränken und stattdessen mit Texturen zu arbeiten.

Falls wir in Blender Texturen zugewiesen haben (z.B. Normal Maps, Albedo, Metallness), mussten diese bereits vor dem Modellimport in Unity eingefügt werden. Sonst erkennt Unity die Texturzuordnung nicht, und man muss sie manuell im Material setzen.

Darstellung und Fehlerquellen

Teilweise sahen Modelle in Unity anders aus als in Blender. Das lag daran, dass beide Programme unterschiedliche Render-Engines nutzen. Zum Beispiel:

  • Materialien wirkten flacher oder glänzender (z.B. weil das Licht in Unity anders berechnet wird)
  • Flächen wurden nicht angezeigt (Normals falsch ausgerichtet)
  • Texturen wurden gestreckt dargestellt (UV-Mapping prüfen)
  • Skalierung wurde nicht normalisiert

In solchen Fällen haben wir entweder die Unity-Einstellungen angepasst oder das Modell nochmals in Blender überarbeitet.

Modelview

Animationen importieren

Animationen lassen sich problemlos als .fbx-Dateien exportieren und in Unity importieren. Animationsdaten (z.B. Lauf- oder Schlaganimationen) wurden direkt übernommen. Wenn nötig, konnten wir sie in Unitys eigenem Animation -System weiterbearbeiten oder Übergänge zwischen Animationen definieren.

Animation