기본 개념

bookmark_border

ARCore를 시작하기 전에 몇 가지 기본 개념을 이해하면 도움이 됩니다. 이러한 개념을 통해 ARCore에서 가상 콘텐츠가 실제 표면에 있는 것처럼 보이도록 하거나 실제 위치에 연결되는 환경을 구현해 주는 방법을 보여 줍니다.

모션 추적

휴대전화가 세계를 움직일 때 ARCore는 동시 현지화 및 매핑(SLAM)이라는 프로세스를 사용하여 휴대전화가 주변 세상과 비교하여 어디에 있는지 파악합니다. ARCore는 지점이라고 하는 캡처된 카메라 이미지에서 시각적으로 구별되는 지형지물을 감지하고 이러한 지점을 사용하여 위치 변경을 계산합니다. 이 시각적 정보는 기기의 IMU에 있는 공기 측정값과 결합되어 시간이 지남에 따라 전 세계의 상대적인 포즈(위치 및 방향)를 추정합니다.

ARCore에서 제공하는 3D 콘텐츠를 기기의 포즈에 맞게 렌더링하는 가상 카메라의 포즈를 맞추면 개발자는 올바른 관점에서 가상 콘텐츠를 렌더링할 수 있습니다. 렌더링된 가상 이미지는 기기의 카메라에서 가져온 이미지 위에 오버레이될 수 있으므로 가상 콘텐츠가 실제 환경의 일부인 것처럼 표시됩니다.

https://developers.google.com/static/ar/images/MotionTracking.jpg

환경 이해

ARCore는 지형지물과 평면을 감지하여 실제 환경에 관한 이해를 지속적으로 개선하고 있습니다.

ARCore는 테이블이나 벽과 같이 일반적인 수평 또는 수직 표면에 놓인 것처럼 보이는 특징점의 클러스터를 찾아 이러한 표면을 기하학적 평면으로 제공합니다. ARCore는 또한 각 기하학적 영역의 경계를 결정하고 그 정보를 앱에 제공할 수 있습니다. 이 정보를 사용하여 가상 표면을 평평한 표면에 배치할 수 있습니다.

ARCore는 특징점을 사용하여 평면을 감지하므로 흰색 벽과 같은 질감이 없는 평평한 표면이 제대로 감지되지 않을 수 있습니다.

https://developers.google.com/static/ar/images/EnvUnderstanding.jpg

깊이 이해

ARCore는 지원되는 기기의 기본 RGB 카메라를 사용하여 주어진 지점의 표면 간 거리 관련 데이터를 포함하는 이미지를 생성합니다. 깊이 맵에서 제공하는 정보를 사용하여 가상 객체가 관측된 표면과 정확하게 충돌하게 하거나 실제 객체 앞이나 뒤에 나타나도록 만드는 등 몰입도 높고 현실적인 사용자 환경을 지원할 수 있습니다.

광원 추정

ARCore는 환경 조명에 대한 정보를 감지하고 지정된 카메라 이미지의 평균 강도와 색상 보정을 제공합니다. 이 정보를 통해 주변 환경과 동일한 조건에서 가상 객체를 밝힐 수 있으므로 현실감이 커집니다.

https://developers.google.com/static/ar/images/LightEstimation.jpg

사용자 상호작용

ARCore는 조회 테스트를 사용하여 탭 (또는 앱에서 지원하려는 다른 상호작용으로 제공)에 해당하는 (x,y) 좌표를 가져와 카메라의 빛을 투영하고 레이가 평면에서 교차하는 포즈와 함께 기하학적 평면 또는 특징점을 반환합니다. 이를 통해 사용자는 환경에서 객체를 선택하거나 다른 요소와 상호작용할 수 있습니다.

방향 포인트