I'm trying to use Model I/O as a quicker way to render imported 3d models for my iOS app. I have written a little bit of code importing and displaying a 3d model I have made with a .obj file format. For some reason, when I run my app only a black screen appears.Here is my code:
import UIKit
import ModelIO
import SceneKit
import SceneKit.ModelIO
class ViewController: UIViewController {
var sceneView: SCNView {
return self.view as! SCNView
}
override func viewDidLoad() {
// Do any additional setup after loading the view, typically from a nib.
guard let url = Bundle.main.url(forResource: "Digestive_System", withExtension: "obj") else {
fatalError("Failed to find model")
}
//Load Object
let asset = MDLAsset(url:url)
guard let object = asset.object(at: 0) as? MDLMesh else {
fatalError("failed to get mesh from asset")
}
// Wrap Model I/O object in SceneKit object
let scene = SCNScene()
let node = SCNNode(mdlObject: object)
scene.rootNode.addChildNode(node)
//Display Scene
sceneView.autoenablesDefaultLighting = true
sceneView.allowsCameraControl = true
sceneView.scene = scene
sceneView.backgroundColor = UIColor.black
super.viewDidLoad()
}
side note: my model is located in the main folder of the app.
Thanks for your help guys! Noa