在ARKIT中加载3D对象需要多少个文件



我是我的应用中的加载3D模型(从下载的示例应用程序复制了3D模型(,但是示例应用程序正在工作,当我尝试更改模型文件时,该模型不显示。

在Apple Sample AR应用程序和许多其他示例代码中,我们发现有.scn或.dae文件用于加载任何3D模型。

我的问题是,除了.scn或.dae文件外,还需要哪些文件来加载对象?我错过了一些文件,以包括在我的演示应用中吗?

这是我对加载3D对象文件的求解。

@IBOutlet weak var sceneView: ARSCNView!
private var modelNode: SCNNode!

@objc func addObjectToSceneView(withGestureRecognizer recognizer: UIGestureRecognizer) {
    let tapLocation = recognizer.location(in: sceneView)
    let hitTestResults = sceneView.hitTest(tapLocation, types: .existingPlaneUsingExtent)
    guard let hitTestResult = hitTestResults.first else { return }
    let translation = hitTestResult.worldTransform.translation
    let x = translation.x
    let y = translation.y
    let z = translation.z
    // For load .scn file 
    let tempScene = SCNScene(named:"art.scnassets/cat/cat.scn”)
    modelNode = tempScene.rootNode
    modelNode.position = SCNVector3(x,y,z)
    sceneView.scene.rootNode.addChildNode(modelNode)
    //For load .dae file
    let tempScene = SCNScene(named: "art.scnassets/Petroleum_Lamp/Petroleum_Lamp.dae")
    modelNode = tempScene.rootNode.childNode(withName: "Lamp", recursively: true)!
    modelNode.position = SCNVector3(x,y,z)
    sceneView.scene.rootNode.addChildNode(modelNode)   
  }

您可以将.dae/.obj转换为.scn。在此处输入图像描述

相关内容

  • 没有找到相关文章

最新更新