gpt4 book ai didi

swift - 使用 SceneKit 和 ARKit 创建一个盒子

转载 作者:可可西里 更新时间:2023-11-01 00:00:33 31 4
gpt4 key购买 nike

我正在尝试使用 SceneKit 和 ARKit 创建原语。无论出于何种原因,它都不起作用。

let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)

let node = SCNNode(geometry: box)

node.position = SCNVector3(0,0,0)

sceneView.scene.rootNode.addChildNode(node)

我还需要输入相机坐标吗?

最佳答案

您的代码看起来不错,应该可以工作。我试过如下代码:在使用 ARKit 模板创建新应用后,我替换了函数 viewDidLoad。

override func viewDidLoad() {
super.viewDidLoad()

// Set the view's delegate
sceneView.delegate = self

let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
let node = SCNNode(geometry: box)
node.position = SCNVector3(0,0,0)
sceneView.scene.rootNode.addChildNode(node)
}

它在原点 (0, 0, 0) 处创建一个框。不幸的是,您的设备在盒子里,因此您无法直接看到那个盒子。要查看该框,请将您的设备移远一点。

附图是移动设备后的盒子:

enter image description here

如果您想立即看到它,请将框移到前面一点,添加颜色并使第一个 Material 为双面(以便在里面或外面看到它):

    let box = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
box.firstMaterial?.diffuse.contents = UIColor.red
box.firstMaterial?.isDoubleSided = true
let boxNode = SCNNode(geometry: box)
boxNode.position = SCNVector3(0, 0, -1)
sceneView.scene.rootNode.addChildNode(boxNode)

关于swift - 使用 SceneKit 和 ARKit 创建一个盒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44974564/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com