Создание анимации отказов при перемещении ссылки на изображение в ARKit - PullRequest
0 голосов
/ 14 ноября 2018

Я поместил 4 изображения по кругу вокруг моего триггера на 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) (по какой-то причине отличается от узла).

Есть идеи, как мне этого добиться?

...