Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode's SceneKit editor renders .dae file's wrong and Xcode sometimes crashes during preview

I'm trying to figure out how to import .dae files with animations into Xcode and SceneKit.

It works somewhat, but it's really buggy, I can't preview files, and Xcode sometimes crashes when trying to preview the .dae files in Xcode.

Here's how I'm importing the animated models

  1. I download an animated character from Mixamo, as a Collada file, with the settings below.

enter image description here

  1. Create a brand new SceneKit iOS project, import .dae file, and select the file in the Xcode file list to preview it. The result can be seen below. I have zoomed all the way out to make sure I'm not just viewing the model from the inside of the mesh. The lines extend infinetly it looks like.

enter image description here

  1. If I use the ConvertToXcodeCollada workflow, and verify that the .dae XML only has one <animation> tag with corresponding closing tag, and then import it into Xcode, it won't open at all. See image below.

enter image description here

  1. If I import the .dae file version not converted using ConvertToXcodeCollada, and the add .dae file as a sub reference in a .scn Scene file, the model displays correctly, and the animation is playing correctly. Image below.

enter image description here

So how should I do this properly?

I have also tried to import animated models into Blender and then export it to Collada from there (with unstructions from tutorials on youtube), and same results. Is there a way I can do this a proper way, where it works like it should, without Xcode behaving buggy? It would be easier if I could actually preview and edit materials etc of the .dae files directly, without having to always add them to an existing .scn Scene Kit Scene.

like image 679
eivindml Avatar asked Nov 12 '18 10:11

eivindml


1 Answers

I did followed your instructions and try to load a 3D animation. Its working fine for me

enter image description here

In new sceneKit project I have updated my code like.

// create a new scene
        let scene = SCNScene(named: "Jumping.dae")! //"art.scnassets/ship.scn")!

and this too

 let ship = scene.rootNode.childNode(withName: "mixamorig_Hips", recursively: true)! // "ship"

I am using XCode 10.1 on macOS 10.13.6

like image 76
Kathiresan Murugan Avatar answered Oct 31 '22 14:10

Kathiresan Murugan