Einfügen von Texturen beim Exportieren von Blender in das COLLADA / .dae-Format zur Verwendung in SceneKit

8

Ich bin in der Lage, in Blender erstellte Meshes zur Verwendung in SceneKit zu exportieren, indem ich das COLLADA / .dae-Format verwende - jedoch werden auf dem iOS-Gerät keine Texturen angezeigt.

Außerdem wird in der Vorschau unter OS X keine COLLADA-Datei geöffnet, die aus Blender exportiert wurde. Die Seitenansichtsvorschau zeigt jedoch das Gitter. Welche Optionen werden beim Export benötigt, damit dies funktioniert?

    
Jonny 30.07.2014, 08:10
quelle

3 Antworten

17

Erstellen Sie zuerst einen scnassets-Ordner (nicht erforderlich, aber nützlich)

  1. Erstellen Sie einen Ordner auf Ihrem Desktop und geben Sie ihm eine Erweiterung von ".scnassets"

  2. Platzieren Sie Ihre Collada-Datei (.dae) zusammen mit allen Texturen, die Sie darin verwenden.

  3. Ziehen Sie den Ordner in Ihr Projekt und speichern Sie ihn wie gewohnt.

  4. Klicken Sie auf Ihren scnassets-Ordner, und Sie sehen ein Kontrollkästchen (falls nicht aktiviert) für die Konvertierung in eine "y" -Achse.

Zuweisen von Texturen zu Ihrem Szenenmodell

  1. Klicken Sie auf Ihre Collada-Datei (.dae) in Ihrem Projekt in xcode.

  2. Sie sollten Ihre Szene sehen und auf der linken Seite eine Liste von Kameras, Lichtern, Materialien und so weiter. Dies ist dein Szenenbaum.

  3. Öffnen Sie die Registerkarte Materialien und klicken Sie auf eines Ihrer Materialien.

  4. Klicken Sie im Inspektionsfenster auf der rechten Seite auf das blaue kugelförmige Symbol (Materialinspektor), um die Diffusität, Spiegelung und solche des einen Materials anzuzeigen.

  5. Klicken Sie auf den Tab "diffus" und wenn er geöffnet wird, sollten Sie eine Option für Farben und Texturen in Ihrem Projekt haben. Wählen Sie die Textur, die Sie in Ihrem 3D-Programm verwendet haben. Solange Sie sie in Ihrem 3D-Programm korrekt entpackt haben, sollten sie sofort in Ihrer Szenenansicht angewendet werden.

Was passiert, wenn ich mein Material nach dem Laden meiner Szene ändern möchte? Freut mich, dass du gefragt hast!

Dazu müssen wir die Methode entryWithIdentifier der SCNSceneSource-Klasse verwenden. Ich werde Swift hier verwenden, weil es fantastisch ist! Hier gehen wir ...

  1. Erhalte die URL deiner Szene (.dae) so ...

    %Vor%
  2. Nun können wir diese URL verwenden ...

    %Vor%
  3. Klicken Sie auf Ihre .dae und unter Szenengrafik ist eine Liste von Elementen, von denen eine Ihre Geometrie ist. Es wird einen Tee-Kessel haben, der rechts daneben steht. Wir werden seinen Namen hier verwenden. Sagen wir, der Name Ihrer Geometrie ist Geo. Benutze es so ...

    %Vor%
  4. Jetzt haben wir eine Quelle, die an einen SCNNode mit der Bezeichnung yourGeomerty gebunden ist. Lassen Sie uns ein neues Material mit einer UIColor wie folgt erstellen ...

    %Vor%
  5. Endlich werden wir das alte Material mit dem neuen Material so abschalten ...

    %Vor%

Spielen Sie mit ihm und anderen Indizes herum, wenn Sie mehr als ein Material haben. Sie können auch die UIImage-Klasse verwenden, um eine andere Textur anstelle einer Farbe zu verwenden.

TIPP Wenn Sie etwas aus Ihrem scnassets-Ordner hinzufügen oder löschen möchten, navigieren Sie dazu zu Ihrem Projektordner und nicht zu xcode. Ich brauchte eine Weile, um das herauszufinden, also dachte ich, ich würde jedem den Ärger ersparen.

    
FlippinFun 04.08.2014, 17:48
quelle
4

Collada-Dateien betten keine Texturen ein, sie haben nur Referenzen auf sie. Stellen Sie sicher, dass Ihre Texturen aus der Collada-Datei erreichbar sind, wenn Sie sie in der Vorschau öffnen, und stellen Sie sicher, dass die Texturen beim Erstellen einer App in das App-Bundle eingefügt werden.

    
Toyos 30.07.2014 08:44
quelle
4

3 Dinge, die ich tun musste, damit es funktioniert.

  1. Stellen Sie sicher, dass Bilder in der .blend-Datei gepackt sind (dies ist eine Option im UV-Editor)

  2. Wenn Sie exportieren, wird die Datei nicht automatisch die UVs oder die Materialien enthalten. Es gibt ein Kontrollkästchen, um die UVs und Materialien in das DAE aufzunehmen. Das habe ich auch vermisst.

  3. Diesen brauchen Sie nur, wenn Sie einen Spielplatz anlegen. Der Dae ist nicht ganz appliziert, aber ich konnte sein Scntool in den Entwicklertools verwenden, um einen Dae zu exportieren. Hier ist eine Beispiel-Befehlszeile, die ich verwendet habe.

./ scntool --convert ~ / Dokumente / Kunst / BlenderArt / tableandappleUV.dae --format c3d --output ~ / Documents / Table5.dae

Beachten Sie das Format c3d. nutze das und dein Spielplatz kann nun auch den Dae erkennen. (Eine andere Anmerkung: Wenn Sie den Dae auf dem Spielplatz verwenden möchten, müssen Sie in Ressourcen-Ordner des Spielplatzes legen)

    
Scott Jenkins 10.11.2014 20:06
quelle

Tags und Links