Blenderの座標系はZ-upを使用しますが、SceneKitはY-upを使用します。私はそれがあなたの問題の原因であると信じています。
SCNSceneにはローディングオプション付きのイニシャライザがあります。convertToYUpオプションを使用してみてください。これは、実行時またはカスタムコマンドラインツールを使用して実行することができます。
変換Y-upオプションを使用してColladaファイルを読み込んだ後、選択したURL宛先にエクスポートする方法の例を示します。
let scene = try? SCNScene(url: daeURL, options: [.convertToYUp: true])
scene.write(to: scnURL, options: nil, delegate: nil, progressHandler: nil)
私は結果に非常に満足しています。 SceneKitは、単一のオブジェクトだけでなく、複雑なシーンの複数のオブジェクトを変換することができます。
エクスポートする前に、良い結果を得るために回転を適用することを忘れないでください。ローテーションを適用するホットキーはCtrl + A、次にRだと思います。
出典
2017-08-12 00:36:59
Phi
制約を使用しましたか? –
@VasiliiMuravevいいえ、ファイルは単にBlenderによってエクスポートされています – vrwim