在ARKit中移动图像参考时创建反弹动画

时间:2018-11-14 00:37:02

标签: ios swift arkit

我在ARKit上的触发器周围放置了四个图像,并试图找到一种方法来创建弹性动画,然后随着图像的移动和旋转图像到达其最终位置。想象一下它像一个带有AR字母(N-S-E-W)的指南针,当我旋转它时,它们会朝着新位置动画,将其超调约5-10%,然后朝着它动画。

到目前为止,我正在像这样计算渲染器委托上的每个位置变化:

func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {

    print("Position: \(node.position)")
    animateFaces(in: node)

}

static func animateFaces(in node: SCNNode) {

    for i in 0..<node.childNodes.count {

        node.childNodes[i].runAction(
            SCNAction.sequence([
                SCNAction.move(to: calculatePosition(ofIndex: i, around: node, withBounceOf: CGFloat(1.2)), duration: 0.5),
                SCNAction.move(to: calculatePosition(ofIndex: i, around: node), duration: 0.5)
                ])
        )

    }

}

但是,打印位置会产生误导,因为在ARKit2上添加子节点时,识别图像的位置始终为SCNVector3(0,0,0)(由于某些原因与该节点不同)。

关于如何实现这一目标的任何想法?

0 个答案:

没有答案