목표는 사용자가 휴대 전화를 어느 정도 옆으로 옮기는 지 감지하는 것입니다. 가장 단순한 시나리오를 가정 해 보겠습니다. 전화기는 홈 버튼이 천장을 향하게 한 탁자 위에 놓습니다.iOS : 사용자 이동 전화를 왼쪽/오른쪽으로 감지합니다. (회전은 아니지만 움직입니다)
사용자가 테이블을 따라 전화를 왼쪽/오른쪽으로 밀면 이동 한 양을 어떻게 감지 할 수 있습니까?
아래 코드는 올바른 값을 등록하지 않는 것 :
let motionManager = CMMotionManager()
override func update(_ currentTime: TimeInterval) {
processUserMotion(forUpdate: currentTime)
}
func processUserMotion(forUpdate currentTime: CFTimeInterval) {
// 2
if let data = motionManager.accelerometerData {
// 3
if fabs(data.acceleration.x) > 0.2 {
// 4 How do you move the ship?
print("X Acceleration: \(data.acceleration.x)")
}
if fabs(data.acceleration.y) > 0.2 {
// 4 How do you move the ship?
print("Y Acceleration: \(data.acceleration.y)")
}
if fabs(data.acceleration.z) > 0.2 {
// 4 How do you move the ship?
print("Z Acceleration: \(data.acceleration.y)")
}
}
}
고마워요! 실제로 테이블 예제는 문제를 단순화하기 위해 고안된 것입니다. 실제 사용 사례는 한 손으로 게임을하기위한 표준 위치와 같이 화면의 엄지 손가락으로 휴대 전화를 한 손에 들고있을 것입니다. ARKit은 사용자가 장치를 왼쪽/오른쪽으로 얼마나 이동했는지 쉽게 측정 할 수있게 해주는 반면 ARKit은 실제로 실용적이지 않았습니다. – Crashalot
예, 저는 ARKit이이 작업을 수행 할 수 있다는 것을 확신합니다. 실제로 사용하기 전에는 사용할 수있는 것이 없습니다. 나는 ARKit을 직접 사용하지 않았기 때문에 코드에 통합하는 것이 얼마나 쉬운 지 또는 다른 합병증이 있는지 (예를 들어 지연이 심하거나 좋은 조명 수준에서만 작동하는지 여부 등) 말할 수 없다. 바쁜 거리 장면 등에서 사용하면 혼란스러워집니다.) 모르겠다. – Columbo
충분히 공정하게, ARKit이이 작업을 수행 할 수 있다는 사실을 알기 바란다. – Crashalot