【问题标题】:ARkit, why i can't scale this node?ARkit,为什么我不能扩展这个节点?
【发布时间】:2021-05-06 06:23:22
【问题描述】:

我刚开始学习 ARkit,我设法在 UItapGesture 和代理节点的方法中创建了一个 ARAnchor 用于锚点或 didAdd 节点用于锚点我渲染并显示 SCNcube 或 SCNsphere 。

示例:


    func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
            
            if let ancoraNome = anchor.name , ancoraNome == "sun" {
                debugPrint("did add anchor")
                let mesh = SCNBox(width: 0.2, height: 0.2, length: 0.2, chamferRadius: 0)
                mesh.firstMaterial?.diffuse.contents = UIColor.red
                let nodo = SCNNode(geometry: mesh)
                node.scale = SCNVector3(10, 10, 10)
                node.addChildNode(nodo)
                
            } else {
                let mesh = SCNSphere(radius: 0.1)
                mesh.firstMaterial?.diffuse.contents = UIColor.red
                let nodo = SCNNode(geometry: mesh)
                node.scale = SCNVector3(0, 10, 10)
                node.addChildNode(nodo)
            }
        }

为什么我不能扩展节点?为了进行测试,我设置了 node.scale ,但对象始终保持其初始尺寸为 20 厘米的盒子和 10 厘米的球体..

我做错了什么?

【问题讨论】:

    标签: swift xcode scale scenekit arkit


    【解决方案1】:

    ARKit 不断更改与其管理的锚点关联的节点的transform,从而覆盖节点的scale。您可以做的是创建一个额外的节点作为node 的子节点插入,该节点将保存mesh,然后在此节点上设置scale

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      • 2014-12-01
      • 1970-01-01
      相关资源
      最近更新 更多