Работа над приложением AR, где мне нужно поместить объект в ARImageAnchor, как только изображение будет отслежено, а 3D-модель размещена, тогда она не должна двигаться вместе с привязкой изображения, она должна просто следовать за углом камеры на iPhone и заданным расстоянием от привязки.
Пробная партия кода.
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let node = SCNNode()
if let imageAnchor = anchor as? ARImageAnchor {
self.mainNode.simdTransform = anchor.transform
self.sceneView.scene.rootNode.addChildNode(self.mainNode)
}
Еще одна попытка:
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let node = SCNNode()
if let imageAnchor = anchor as? ARImageAnchor {
guard let pointOfView = self.sceneView.pointOfView else { return }
let transform = pointOfView.transform
self.mainNode.transform = transform
self.sceneView.scene.rootNode.addChildNode(self.mainNode)
}
func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: TimeInterval) {
guard let pointOfView = self.sceneView.pointOfView else { return }
let transform = pointOfView.transform
let translationMatrix = SCNMatrix4Translate(transform, 1.0 , -0.5, -3.0)
}
Невозможно понять, как получить расстояние и уголмежду преобразованием pointOfView и Anchor.tranform.Любая помощь будет очень признательна.Заранее спасибо.