Toolbox Interactiondesign


Emerging Technologies

Unity Import

Unity Import

Martin Pohlmann, 27.02.2016 | Emerging Technologies bei Sascha Reinhold

 

Eigentlich sollte ich Euch hier den Import von Rhinodateien in Unity erklären. Bei meiner Recherche hierzu ist mir aufgefallen, dass es nicht nur für Rhino bestimmte Importoptionen gibt, sondern das viele Dateien aus Unity-fremden Programmen immer anders kompatibel gemacht werden müssen. Auf dieser Seite seht Ihr nun ein kleines Tutorial darüber, wie Unity mit Dateien aus anderen 3D-Programmen umgeht, bzw. wie kannst Du mit Deinem 3D-Programm Deine 3D-Dateien für Unity lesbar machen.

Wie werden 3D Modelle aus anderen 3D-Programmen in Unity importiert?

Unity unterstützt den Import von 3D Modellen der populärsten 3D-Progammen.

Unity kann .FBX, .dae (Collada), .3DS, .dxf and .obj Dateien lesen. Es gibt für andere Programme und Dateiformen .FBX-Exporter, damit die Dateien für Unity lesbar gemacht werden.

Unity kann desweiteren noch Dateien aus folgenden Anwendungen importieren: Max, Maya, Blender, Cinema4D, Modo, Lightwave & Cheetah3D … ändert man in den jeweiligen Programmen die Datei durch Weiterbearbeitung, übernimmt Unity die abgespeicherte Datei, um damit weiterzuarbeiten.

So ist es wesentlich einfacher mit Programmen zu arbeiten, mit denen Unity automatisch kommuniziert.

Ein Problem tritt allerdings auf, wenn die Datei eines dieser Programme auf einem fremden Rechner bearbeitet wird und wir auf unserem Unity-Rechner diese Programme nicht haben, so muss die Datei in eine Unity lesbare Datei exprotiert werden (z.B. .fbx).

Texturen in Unity importieren 

Cinema4D

Unity kann mit Cinemas prozeduralen Shadern nichts anfangen. Genauso ist es nicht möglich eingefrohrene Polygoninformationen zu übergeben.

Wenn du ein texturiertes Objekt nach Unity bringen willst, brauchst du eine UV Map und echte Texturen, also Grafiken.

Das Einfrieren von Polygonen ist eigentlich nichts anderes, als ein UV Bereich für eine Textur festzulegen, aber leider nur Cinema intern. Deswegen wird das so nicht klappen.

Ich habe außerden festgestellt, das der Importer, der von Unity bereitgestellt wird, nicht gut ist. Deswegen exportiere ich (kann auch eine komplette Szene mit vielen Objekten sein) immer via FBX. Ich bette die Texturen aber nicht ein.

In der FBX Datei ist verankert, welches Material welche Textur hat. Somit ist es überhaupt kein Problem die Texturen zu den Materialien zuzuweisen. Du musst die Texturen nur irgendwo in den Assetordner legen, schon weist Unity die Textur dem richtigen Material zu.

Das ist aber nur der Farb-Kanal von Cinema. Hast du ein Cinemamaterial mit Bumpmap,Spiegelmap, Glanzmap, Normalmap usw.., musst du das Material des Objektes in Unity per Hand einstellen. Denn anders gehts nicht.

Die Shader in Unity sind nunmal anders aufgebaut und der Ex/Import vie FBX erzeugt nur ein Diffuses Material.

Wenn du gerne CinemaShader rüber bringen willst, musst du sie backen. Du musst je Objekt ein BackenTag verpassen, die ganzen Informationen einstellen (Beleuchtung, Texturgröße, art des UV Mappings usw.) und das dann Backen lassen. Das Ergebnis ist dann eine oder auch mehrere Texturgrafiken, die du wiederum leicht nach Unity bringen kannst. Da solltest du aber einige Tests machen um die richtigen Einstellungen zu ermitteln.

Das Objekt selber bringst über FBX rüber. Alle Materialien, die dein Objekt hatte werden dann übergeben. Wenn du also ein Grundmaterial nutzt und dann noch 2 für die eingefrohrenen Polygone, wird dein UnityObjekt auch schon 3 Materialien bei haben.

Hast du die Gebackenen Texturen in Cinema dem Objekt zugewiesen gehabt, sind die Informationen auch Unity übergeben worden. Hast du das nicht so gemacht, musst du die gebackenen texturen manuell den Materialien zuweisen.

Rhinoceros

Bei Rhino verhält es sich so, dass Du die Dateien in .FBX Dateien umwandeln musst, dass kann Rhino direkt über exportieren. Die Texturen sind nur parallel als jpg zu übernehmen, sie können nicht mit .FBX im Rhino exportiert werden, bzw. Unity erkennt diese Texturen nicht.

Hier habe ich Euch eine graphische Übersicht über die Kompatibilität der einzelnen Dateien gemacht. Das meint, welches Dateiformat wird von Unity akzeptiert oder mit welchem 3D-Programm kann ich die Datei für Unity lesbar machen. … Hier könnt Ihr die Originalgrafik runterladen

Ein kurzes aufschlussreiches Tutorial habe ich für Euch auch noch in einem Video vorbereitet, damit Ihr Euch für ein Programm entscheiden könnt mit dem Ihr arbeiten möchtet, bzw. wie Ihr mit dem Programm, mit dem Ihr arbeitet unity-lesbare Dateien erstellt.

 

Viel Spaß beim Bauen und Kreativ sein.

26.03.2016 | Martin Pohlmann |