자체 앱에서 Instant Placement API 또는 영구 레이캐스트를 사용하는 방법을 알아보세요.
기본 요건
계속하기 전에 기본적인 AR 개념 과 ARCore 세션을 구성하는 방법을 이해해야 합니다.
개념 이름
특정 개념과 메서드의 이름은 AR Foundation과 Unity용 ARCore SDK 간에 다를 수 있습니다. 아래 표에 쉽게 참조할 수 있도록 나열되어 있습니다.
| AR Foundation | Unity용 ARCore SDK |
| 영구 레이캐스트 | Instant Placement |
ARRaycastManager.AddRaycast(Vector2, float)
|
Frame.RaycastInstantPlacement(float, float, float, out TrackableHit)
|
ARRaycast
|
TrackableHit
|
| (동등한 항목 없음) | InstantPlacementPoint
|
ARRaycast.trackingState
|
InstantPlacementPointTrackingMethod
|
기본 요건
이 가이드에서는 Unity를 이미 설치하고 구성했다고 가정합니다. 그렇지 않은 경우 설치 및 설정 단계는 AR Foundation용 ARCore Extensions 시작하기 를 참고하세요.
ARRaycastManager로 새 세션 구성
Instant Placement (영구 레이캐스트)는 AR Foundation 패키지와 함께 바로 사용할 수 있습니다. 다음 단계에 따라 장면을 설정하세요.
AR Foundation 4.x
미리 정의된 게임 객체 AR Session Origin 및 AR Session 을 추가합니다.

AR Raycast Manager 구성요소를 AR Session Origin 게임 객체에 추가합니다.

Raycast Prefab이 null이 아니면 ARRaycastManager
가 프리팹을 인스턴스화하고 포즈를
ARRaycast의 포즈와 자동으로 동기화합니다.
AR Foundation 5.x
미리 정의된 게임 객체 XR Origin 및 AR Session 을 추가합니다.

AR Raycast Manager 구성요소를 XR Origin 게임 객체에 추가합니다.

Raycast Prefab이 null이 아니면 ARRaycastManager
가 프리팹을 인스턴스화하고 포즈를
ARRaycast의 포즈와 자동으로 동기화합니다.
AR Foundation 6.x
미리 정의된 게임 객체 XR Origin 및 AR Session 을 추가합니다.

AR Raycast Manager 구성요소를 XR Origin 게임 객체에 추가합니다.

Raycast Prefab이 null이 아니면 ARRaycastManager
가 프리팹을 인스턴스화하고 포즈를
ARRaycast의 포즈와 자동으로 동기화합니다.
객체 배치
새 ARCore 세션에서 ARRaycastManager.AddRaycast(Vector2, float)를 사용하여 Hit Test를 실행합니다.
public ARRaycastManager RaycastManager; // set from the Editor Inspector.
void Update()
{
Touch touch;
if (Input.touchCount < 1 || (touch = Input.GetTouch(0)).phase != TouchPhase.Began)
{
return;
}
if (EventSystem.current.IsPointerOverGameObject(touch.fingerId))
{
return;
}
ARRaycast raycast = RaycastManager.AddRaycast(touch.position, _estimateDistance);
if (raycast != null)
{
// You can instantiate a 3D object here if you haven’t set Raycast Prefab in the scene.
…
}
}
ARRaycast 추적 상태 모니터링
ARCore에 정확한 3D 포즈가 있으면 ARRaycast.trackingState가 Tracking이 됩니다.
그렇지 않으면 Limited
로 시작하고 ARCore에 정확한 3D 포즈가 있으면 Tracking으로 전환됩니다. 추적 상태가 Tracking이 되면
Limited로 되돌아가지 않습니다.