Мне нужно убедиться, что пользователь перемещает свою камеру влево или вправо в ARkit . это мой код
func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: TimeInterval) {
//get camera position
guard let pointOfView = mainScene.pointOfView else {return}
let transform = pointOfView.transform
let orientation = SCNVector3(-transform.m31,-transform.m32,-transform.m33)
let location = SCNVector3(transform.m41,transform.m42,transform.m43)
currentPositionOfCamera = orientation + location
print(currentPositionOfCamera)
if currentPositionOfCamera.x <= -1.0 {
print("left")
//addBox(x: currentPositionOfCamera.x, y: currentPositionOfCamera.y, z: -5.0)
if(!isimageAdd && !isRightSide){
DispatchQueue.main.async {
self.isimageAdd = true
self.isRightSide = true
self.addBox(x: -6.1, y: self.currentPositionOfCamera.y, z: -1.5)
}
}
}else if currentPositionOfCamera.x > 1.0 {
print("right")
//addBox(x: currentPositionOfCamera.x, y: currentPositionOfCamera.y, z: 5.0)
if(!isimageAdd && isRightSide){
DispatchQueue.main.async {
self.isimageAdd = true
self.isRightSide = false
self.addBox(x: 6.1, y: self.currentPositionOfCamera.y, z: -1.5)
}
}
}
else {
print("front")
}
}
Я использую делегат ARSCNView , чтобы найти момент камеры. этот код работает нормально, иногда нет. Есть ли какой-нибудь точный способ найти движение камеры влево или вправо в сторону. я новичок в ARkti . поэтому, пожалуйста, помогите мне:)