2017-08-08 19 views
2

Ich habe einen Vorhang, den ich in meiner ARKit App rendern möchte. Ich habe alle Teile meines Vorhangs (exportiert als COLLADA) hinzugefügt und sie in meine .scn Datei eingefügt und sie so platziert, dass sie richtig aufgereiht sind und einen richtigen Vorhang bilden.scn Datei alle Elemente gedreht

Jetzt habe ich die Datei zur ARKit Test App hinzugefügt und es scheint so, als ob alle einzelnen Objekte um die X-Achse ihres eigenen Koordinatensystems rotiert würden.

Warum ist das? Hat es etwas mit Y gegen Z zu tun?

+0

Haben Sie Einschränkungen verwendet? –

+0

@VasiliiMuravev Nein, ich habe die Dateien nicht einfach von Blender exportiert – vrwim

Antwort

0

Blenders Koordinatensystem verwendet Z-up, aber SceneKit verwendet Y-up. Ich glaube, da kommt dein Problem her.

SCNScene verfügt über einen Initialisierer mit Ladeoptionen, versuchen Sie es mit der Option convertToYUp. Dies könnte zur Laufzeit oder vorher mit einem benutzerdefinierten Befehlszeilentool erfolgen.

Hier ist ein Beispiel, wie Sie eine Collada-Datei mit der Option "Y-up konvertieren" laden und anschließend an das von Ihnen gewählte URL-Ziel exportieren.

let scene = try? SCNScene(url: daeURL, options: [.convertToYUp: true]) 
scene.write(to: scnURL, options: nil, delegate: nil, progressHandler: nil) 

Ich war sehr glücklich mit den Ergebnissen. SceneKit kann nicht nur einzelne Objekte, sondern mehrere Objekte in komplexen Szenen konvertieren.

Denken Sie daran, die Rotation in Blender vor dem Export anzuwenden, um gute Ergebnisse zu erzielen. Ich glaube, der Hotkey zum Anwenden der Drehung ist Strg + A, dann R.

Verwandte Themen