I need some help with placing a 3D model with the new apple ARKit. Is it possible to place an object of type OBJ
? I'm trying to place a 3d model of a skull.
//Load the OBJ file
let bundle = Bundle.main
guard let url = bundle.url(forResource: "Cranial", withExtension: "obj") else {
fatalError("Failed to find model file")
}
let asset = MDLAsset(url:url)
guard let object = asset.object(at: 0) as? MDLMesh else {
fatalError("Failed to get mesh from asset")
}
let scene = SCNScene()
let nodeCranial = SCNNode.init(mdlObject: object)
nodeCranial.simdPosition = float3(0, 0, 0.5)
sceneView.scene.rootNode.addChildNode(nodeCranial)
I don't know why nothing shows up in front of the camera. It works if I use the following line instead of the nodeCranial from above:
let cubeNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
Why doesn't it work for OBJ
file too? The code above is in the func viewDidLoad()
.
3D model structuring for AR has been attracting a lot of attention from many industries in the past few years. The objectives of these models are to represent the relationship among objects in different dimensions. 3D scanning technique is highly accurate compared to photogrammetry.
let tempScene = SCNScene(named: "art.scnassets/cat/cat.obj")!
modelNode = tempScene.rootNode
modelNode.simdPosition = float3(0, 0, 0.5)
sceneView.scene.rootNode.addChildNode(modelNode)
you can load .obj, .scn or .dae files like this way.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With