Table of Contents

target 상태 가져오기

세션 실행 중에 target은 추적 및 손실과 같은 상태 변화를 겪습니다. 아래 내용을 통해 target의 상태 정보를 가져와 사용하는 방법과 found 및 lost 이벤트를 사용하여 콘텐츠 표시를 제어하는 방법을 알아보세요.

시작하기 전에

  • ARSession 소개를 통해 세션의 기본 개념, 구성 및 작업 흐름을 이해합니다.
  • Target을 통해 target의 기본 개념, 상태 및 수명 주기를 이해합니다.

target 추적 여부 판단

TargetController.IsTracked 속성을 사용하여 target이 추적 중인지 여부를 판단할 수 있습니다.

target의 found 및 lost 이벤트 사용

TargetController.TargetFoundTargetController.TargetLost 이벤트를 사용하여 target이 추적되거나 손실되는 상황을 처리할 수 있습니다.

예를 들어, 다음 코드는 target이 추적될 때 비디오를 재생하고 target이 손실되면 비디오 재생을 일시 중지하는 과정을 보여줍니다:

target.TargetFound += () =>
{
    if (player && player.gameObject.activeInHierarchy)
    {
        player.Play();
    }
};
target.TargetLost += () =>
{
    if (player && player.gameObject.activeInHierarchy)
    {
        player.Pause();
    }
};
주의

target을 수동으로 언로드하지 않으면 세션 중지 시 TargetController.TargetLost가 호출될 수 있습니다. 세션을 수동으로 중지하지 않으면 세션의 OnDestroy 과정에서 호출될 수 있으며, Unity의 OnDestroy 실행 순서는 보장되지 않으므로 이벤트에서 사용된 객체는 이미 소멸된 객체에 접근하는 것을 피하기 위해 유효성 검사가 필요합니다.

다음 단계

  • active 제어 전략은 target 하위 객체의 기본 표시/숨김 전략과 필요에 따른 조정 방법을 설명합니다.