Hit Test는 가상의 객체를 현실에 배치함

플랫폼별 가이드

Android (Kotlin/자바)

Android NDK (C)

Unity (AR Foundation)

AR 콘텐츠는 장면에 섞여들도록 올바르게 배치되고 크기가 조정되어야 합니다. 실제 객체와 마찬가지로 더 멀리 있는 가상 객체는 더 작게 표시되어야 합니다. 히트 테스트 (또는 Unity용 AR Foundation의 레이캐스트)를 실행하여 장면에서 3D 객체의 올바른 배치를 확인할 수 있습니다. 올바르게 배치해야 AR 콘텐츠가 적절한 크기로 렌더링됩니다.

히트 테스트는 실제 3D 도형과 원점과 방향으로 구성된 가상 광선 사이의 교차점을 찾습니다. 기기의 카메라를 원점으로 하는 광선이 가장 일반적으로 사용되지만 ARCore에는 세계 공간 좌표에서 임의의 광선을 사용해 Hit Test를 실행하기 위한 API가 포함되어 있습니다.

사용자의 기기 카메라에서 나오는 광선이 바닥, 벽, 물체와 같은 장면의 3D 도형에 도달할 때까지 앞으로 확장된다고 가정해 보겠습니다. 이 경우 조회 결과 또는 감지된 장면 도형이 있는 교차로의 목록이 수신됩니다. 목록은 기기와의 거리를 기준으로 가장 가까운 교차로부터 정렬됩니다. 이는 일반적으로 다른 객체 뒤에 가려진 객체를 볼 수 없으므로 첫 번째 결과가 가장 중요하므로 중요합니다.

조회 결과의 콘텐츠

개별 조회 결과는 각 결과에 대해 다음 정보가 포함된 목록으로 반환됩니다.

  • 광선 원점으로부터의 거리(미터)
  • 조회 결과의 포즈 (위치 및 방향)
  • 방문한 3D 도형(추적 가능한 형태)

그런 다음 원하는 조회 결과를 사용하여 앵커를 사용하여 3D 콘텐츠를 현실적으로 배치할 수 있습니다.

조회 결과 유형

조회 결과에는 깊이, 평면, 지형지물 포인트, 인스턴트 게재위치 결과와 같은 4가지 유형이 있습니다. 다음 표와 같이 각 유형마다 사용 사례와 장단점이 있습니다.

조회 결과 유형 설명 수업 소개 사용 사례
자세한 정보 전체 장면의 깊이 정보를 사용하여 지점의 정확한 깊이와 방향을 결정합니다. 3D 표면에 수직 바닥과 벽뿐 아니라 임의의 표면에 가상 객체를 배치합니다.
비행기 점의 정확한 깊이와 방향을 결정하기 위해 수평 또는 수직면을 누릅니다. 3D 표면에 수직 항공기의 전체 형태를 사용하여 평면 (바닥 또는 벽)에 객체를 배치합니다. 정확한 체중계가 즉시 필요합니다. 깊이 Hit Test의 대체
특징 포인트 지점의 올바른 위치와 방향을 결정하기 위해 사용자가 탭하는 지점 주변의 시각적 기능을 사용합니다. 3D 표면에 수직 물체를 바닥과 벽뿐만 아니라 임의의 표면에 배치합니다.
인스턴트 배치 (영구 Raycast) 화면 공간을 사용하여 콘텐츠를 배치합니다. 처음에는 앱에서 제공하는 추정 깊이를 사용합니다. 즉시 작동하지만 ARCore가 실제 장면의 기하학적 구조를 확인할 수 있게 되면 포즈와 실제 깊이가 변경됩니다. 중력 반대편에 있는 +Y가 위를 향함 빠른 배치가 중요하며 항공기의 전체 형태를 사용하여 평면 (바닥 또는 벽)에 객체를 배치합니다. 알 수 없는 초기 깊이와 규모를 감당할 수 있습니다.

기기 호환성

히트 테스트는 모든 ARCore 지원 기기에서 작동하지만 심도 히트 테스트에는 깊이 지원 기기가 필요합니다.

조회 결과를 사용하여 AR 콘텐츠 배치

히트 결과가 있으면 이 포즈를 입력으로 사용하여 장면에 AR 콘텐츠를 배치할 수 있습니다.