首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >arkit场景视图仅显示1个arkit对象

arkit场景视图仅显示1个arkit对象
EN

Stack Overflow用户
提问于 2019-01-26 13:24:55
回答 2查看 115关注 0票数 0

我下面的代码在touches began函数中只显示了一个arkit对象。我希望用户能够在arkit场景视图中显示几个相同的arkit对象。现在,用户可以放置一个图像,但一旦放置下一个图像,另一个图像就会被删除。

代码语言:javascript
复制
   override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

    //Handle the shooting
    guard let frame = sceneView.session.currentFrame else { return }
    let camMatrix = SCNMatrix4(frame.camera.transform)
    let direction = SCNVector3Make(-camMatrix.m31 * 5.0, -camMatrix.m32 * 10.0, -camMatrix.m33 * 5.0)
    let position = SCNVector3Make(camMatrix.m41, camMatrix.m42, camMatrix.m43)
    let scene = SCNScene(named: "art.scnassets/dontCare.scn")!

    // Set the scene to the view
 sceneView.scene = scene
}
EN

回答 2

Stack Overflow用户

发布于 2019-01-27 17:21:16

愚蠢的米莉,你每次都会改变整个场景,而不是向sceneView.scene中添加节点

代码语言:javascript
复制
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {


guard let frame = sceneView.session.currentFrame else { return }
let camMatrix = SCNMatrix4(frame.camera.transform)

let position = SCNVector3Make(camMatrix.m41, camMatrix.m42, camMatrix.m43)
let object = SCNScene(named: "art.scnassets/dontCare.scn")!.rootNode
object.position = position

sceneView.scene.rootNode.addChildNode(object)

}

票数 1
EN

Stack Overflow用户

发布于 2019-07-25 21:13:27

您必须在ARSCNView上添加多个子节点

代码语言:javascript
复制
let careScene = SCNScene.init(named: "art.scnassets/dontCare.scn")
let childNode = (careScene?.rootNode.childNode(withName: "Frame", recursively: false))!
childNode.position = SCNVector3(x,y,z)
scenView.scene.rootNode.addChildNode(childNode)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54375885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档