问题描述
我已经下载了我的 .usdz 模型文件并将其保存在我的手机中,我有我的模型文件的目标网址。 当我投影我的模型时,它会随机放置在场景视图中。下面是我用来投影模型的函数。
func loadModel(url : URL,modelFormat : String) {
print("downloaded model local url== \(url)")
let scene = try! SCNScene(url: url,options: nil)
let wrapperNode = SCNNode()
for child in scene.rootNode.childNodes {
wrapperNode.addChildNode(child)
}
addChildNode(wrapperNode)
}
如何将模型放在平坦的表面上?我一直在检查代码的平面 表面检测,但他直接使用模型而不是网址。
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
guard let shipScene = SCNScene(named: "ship.scn"),let shipNode = shipScene.rootNode.childNode(withName: "ship",recursively: false)
else { return }
shipNode.position = SCNVector3(x,y,z)
sceneView.scene.rootNode.addChildNode(shipNode)
也许你可以指导我如何将这里的 url 传递给项目模型?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)