기본 개념

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

모션 추적

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

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

환경 이해

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

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

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

깊이 이해

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

광원 추정

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

사용자 상호작용

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

방향 포인트

방향 지점을 사용하면 비스듬한 표면에 가상 객체를 배치할 수 있습니다. 특성 포인트를 반환하는 적중 테스트를 실행하면 ARCore는 주변 특성 지점을 살펴보고 이를 사용하여 지정된 특성 지점에서 표면의 각도를 추정합니다. 그러면 ARCore에서 해당 각도를 고려하여 포즈를 반환합니다.

ARCore는 특징점 클러스터를 사용하여 표면의 각도를 감지하므로 하얀 벽과 같은 질감이 없는 표면이 제대로 감지되지 않을 수 있습니다.

앵커 및 추적 가능

ARCore의 위치 및 환경에 대한 이해를 높여 포즈를 변경할 수 있습니다. 가상 객체를 배치하려면 Core를 정의하여 ARCore가 시간이 지남에 따라 객체의 위치를 추적하도록 해야 합니다. 사용자 상호작용에서 설명한 대로 적중 테스트에서 반환한 자세를 기반으로 앵커를 만드는 경우가 많습니다.

포즈가 변경될 수 있다는 사실은 ARCore가 기하학적 평면 및 지형지물과 같은 환경 객체의 위치를 시간이 지남에 따라 업데이트할 수 있음을 의미합니다. 평면 및 포인트는 추적 가능한이라는 특수한 유형의 객체입니다. 이름에서 알 수 있듯이 시간이 지남에 따라 ARCore에서 추적하는 객체입니다. 가상 객체를 특정 추적 가능 대상에 고정하면 기기가 움직이는 경우에도 가상 객체와 추적 가능한 항목 간의 관계가 안정적으로 유지됩니다. 즉, 책상에 가상 Android 피규어를 배치하면 나중에 ARCore가 책상과 연관된 기하학적 평면의 위치를 조정하면 Android 피규어가 여전히 테이블 위에 머무르는 것으로 표시됩니다.

자세한 내용은 앵커 다루기를 참고하세요.

증강 이미지

증강 이미지는 제품 패키징이나 영화 포스터와 같은 특정 2D 이미지에 반응할 수 있는 AR 앱을 빌드할 수 있는 기능입니다. 사용자는 휴대전화의 카메라를 특정 이미지로 가리키면 AR 경험을 트리거할 수 있습니다. 예를 들어 스마트폰 카메라를 카메라로 가리키고 캐릭터가 튀어나와 장면을 연출할 수 있습니다.

ARCore는 움직이는 버스의 옆에 있는 빌보드와 같은 움직이는 이미지도 추적합니다.

이미지를 오프라인으로 컴파일하여 이미지 데이터베이스를 만들거나 기기에서 개별 이미지를 실시간으로 추가할 수 있습니다. 등록되면 ARCore는 이러한 이미지와 이미지 경계를 감지하고 상응하는 포즈를 반환합니다.

공유

ARCore Cloud Anchor API를 사용하면 Android 및 iOS 기기용 공동작업 또는 멀티플레이어 앱을 만들 수 있습니다.

Cloud 앵커를 사용하면 한 기기에서 호스팅을 위해 앵커 및 주변 기능 포인트를 클라우드로 전송합니다. 이 앵커는 동일한 환경의 Android 또는 iOS 기기에서 다른 사용자와 공유할 수 있습니다. 이를 통해 앱은 앵커에 연결된 것과 동일한 3D 객체를 렌더링할 수 있으므로 사용자가 동시에 동일한 AR 환경을 사용할 수 있습니다.

자세히 알아보기

선택한 플랫폼에 AR 환경을 빌드하여 이러한 개념을 실제로 적용해 보세요.