Machineboy空

[AR Navigation 개발일지#2] RealityKit의 좌표를 탐구해보자 (상대좌표, 절대좌표) 본문

언어/swift

[AR Navigation 개발일지#2] RealityKit의 좌표를 탐구해보자 (상대좌표, 절대좌표)

안녕도라 2024. 10. 10. 13:25

* 하고 싶은 것

modelEntity의 위치에 접근하고 싶다.

오른쪽의 경우 평면으로 인지하고 놓인 큐브의 좌표값에 왼쪽의 경우 world(0,0,-5)의 값에 접근해서 로그를 찍어보고 싶다.

 

* 당면한 문제 1 : 양쪽의 Position값이 같게 찍힌다..

anchor.position과 model.position이 모두 원점으로 찍히는 이유가..무엇이지?

 

* 시도 방법 1 : scene에서 해당 entity를 찾아가본다.

 

혹시 scene에 추가되기 이전의 값에 접근하여 원점이 뜨는가 싶어서 anchor에 추가하고 난 뒤,

상부부터 차례로 접근해봤다.. 그래도 여전히 같은 결과값

// 1번째
print("anchor position: \(anchor.position)" )

// 2번째
print("anchor position: \(arView.scene.anchors.first?.position ?? SIMD3<Float>(0,0,0))" )

 

GPT에게 물어보니 이 방법은 로컬 좌표에 접근하는 방식이었다.

이는 자기 자신을 중심으로 원점이 설정되니 당연히 값은 값이 출력될 수밖에

 

* 해결 : 월드 좌표에 접근하는 법을 알아보자! relative to: nil

// 해결..
print("앵커의 좌표: \(anchor.position(relativeTo: nil))")
print("모델의 좌표: \(model.position(relativeTo: nil))")