다음을 통해 공유


Azure Spatial Anchors를 사용하여 효과적인 앵커 환경 만들기

이 문서에서는 Azure Spatial Anchors를 사용하여 앵커를 효과적으로 만들고 찾는 데 도움이 되는 지침과 고려 사항을 제공합니다.

효과적인 앵커

사용자 환경(UX)의 사용자에게 적절한 앵커를 만들도록 교육하거나 안내하는 데 시간을 투자하는 것도 중요합니다. 사전에 효과적인 앵커를 만들면 다음과 같은 조건에서 최종 사용자가 앵커를 안정적으로 찾을 수 있습니다.

  • 여러 디바이스에서
  • 다양한 시간에
  • 다른 조명 조건에서
  • 공간 내의 원하는 큐브 뷰에서

정적 위치 및 동적 위치

앵커 환경을 디자인하는 과정 중의 하나는 위치를 선택하는 것입니다. 위치는 정적이고 공간의 관리자가 정의하나요? 아니면 동적이고 사용자가 정의하나요?

소매점 관리자는 사용자의 방문을 유도하는 정적인 매장 내 환경을 원할 수 있습니다. 그러나 혼합 현실 보드 게임 개발자는 사용자가 재생할 위치를 선택하도록 할 수 있습니다.

정적 위치의 경우 관리자에게 적절한 앵커를 사용하여 공간을 확보하는 데 많은 시간을 할애하도록 안내할 수 있습니다.

동적 위치의 경우 UX에서 사용자가 좋은 앵커를 만들 수 있도록 안내하는 방법을 고려해야 합니다.

안정적인 시각적 특징

혼합 현실 및 증강 현실 디바이스에서 사용되는 시각적 추적 시스템은 환경의 시각적 특징에 따라 달라집니다. 가장 안정적인 환경을 얻으려면:

  • 안정적인 시각적 특징(즉, 자주 변경되지 않는 특징)이 있는 위치에 앵커를 만듭니다.

  • 구별되는 특징이 없는 커다란 빈 표면에는 앵커를 만들지 않습니다.

  • 반사가 잘되는 재질에는 앵커를 만들지 않습니다.

  • 카펫이나 벽지와 같이 패턴이 반복되는 표면에는 앵커를 만들지 않습니다.

Examples of a good environment for anchors and a bad environment for anchors

다양한 보기 큐브 뷰

앵커를 만들 때 나중에 앵커를 찾으려고 하는 사람에 대해 생각해 보세요.

예를 들어 두 개의 문이 있는 방의 가운데에 앵커를 만든다고 가정합니다. 사용자가 둘 중 하나의 문을 통해 방에 들어가도록 할 수 있습니다. 앵커를 만들 경우 두 문에서 모두 앵커의 위치를 스캔해야 합니다. 사용자가 각 문에서 앵커를 찾을 수 있도록 앵커 주변의 환경 데이터를 캡처하기 위해 큐브 뷰를 변경합니다.

일반적으로 앵커를 만들 때는 해당 앵커를 찾을 사용자의 관점에서 이를 스캔합니다. 따라서 가상 콘텐츠를 실외 조각에 배치하는 경우 앵커를 만들 때 스캔하면서 조각 주변을 살펴보는 것이 좋습니다. 앵커가 방 모퉁이에 있는 경우에는 접근 방향이 하나뿐입니다. 이 앵커를 만들 때는 이 큐브 뷰에서만 스캔할 수 있습니다.

여러 앵커

조명에 따라 앱이 탐지하는 시각적 특징에 차이가 있을 수 있습니다. 강한 자연광으로 만들어진 앵커는 인공 조명에서 찾기 어려울 수 있으며 그 반대의 경우도 마찬가지입니다.

이 문제가 있는 경우 두 개의 앵커를 만드는 것이 도움이 될 수 있습니다. 동일한 지점에서 일광으로 하나의 앵커를 만들고 다른 하나는 인공 조명으로 만듭니다. 그러면 앱에서 두 앵커를 모두 쿼리할 수 있습니다. 앵커를 찾을 때 앱은 앵커에 대한 포즈를 취합니다.

마찬가지로 대부분의 개체가 이동하기 때문에 시각적 특징이 변경되는 환경에서는 여러 개의 앵커가 유용할 수 있습니다. 환경에서 중요한 변경 내용으로 인해 앵커를 찾기가 너무 어려울 경우 앵커를 새 앵커로 바꿀 수 있습니다. 예를 들어 몇 개월마다 레이아웃을 새로 고치는 소매점에서 이 작업을 수행할 수 있습니다.

대상 및 방

대부분의 경우 앵커는 앱의 환경에 대한 진입점입니다. 사용자가 환경을 시작할 수 있도록 이 단계를 빠르고 안정적으로 수행할 수 있습니다. 사용자가 앵커를 찾는 방법에 대해 시간을 투자하는 것은 중요한 디자인 단계입니다. 두 가지 광범위한 시나리오, 즉 대상의 측면에서 앵커를 찾는 것에 대해 생각하는 것이 좋습니다.

대상

대상 시나리오에서 앵커의 위치는 잘 알려져 있습니다. 예를 들어 가상의 혼합 현실 그리기 앱에서 한 사용자가 가상 캔버스를 벽에 배치합니다. 이 사용자는 방에 있는 다른 사용자가 벽의 동일한 위치에서 디바이스를 가리켜서 앵커를 찾고 환경을 시작할 수 있도록 안내합니다.

"거래 스캔"를 읽는 커피숍의 로그인이 대상 시나리오의 또 다른 예가 될 수 있습니다. 커피숍에서 여기에 앵커를 배치했습니다. 사용자가 로그인을 스캔하면 앵커를 찾아 증강 현실 환경을 시작하여 커피에 대한 거래를 찾습니다.

대상 시나리오에서는 사진이 도움이 될 수 있습니다. 사용자가 자신의 디바이스에서 원하는 대상의 사진을 보여 주면 실제 스캔할 항목을 신속하게 식별할 수 있습니다. 예를 들어 GPS를 사용하여 사용자가 의도한 대상의 일반 영역 내에 도착하는 것을 지원할 수 있습니다. 사용자가 도착하면 앱은 대상의 사진을 표시합니다. 사용자가 공간을 둘러보고 대상을 찾은 다음 앵커를 스캔합니다.

Illustration of an anchor, showing a photo of the target on a user's mobile device

방 시나리오에서 사용자는 여기 어딘가에 앵커를 있다고 알고 있는 공간으로 들어갑니다. 사용자는 디바이스를 사용히여 공간을 스캔하고 앵커를 빠르게 찾습니다.

이 환경에서는 일반적으로 다양한 보기 큐브 뷰에서 설명한 대로 잘 조정된 앵커를 만들어야 합니다. 앵커를 만들 때 여러 큐브 뷰에서 방을 스캔한 경우 사용자는 찾으려는 위치를 거의 모두 스캔할 수 있습니다.

Illustration of how a user can scan a room to find an anchor

기본적으로 앵커를 만들 때 공간을 스캔하는 데 더 많은 시간을 할애하여 나중에 사용자가 앵커를 빠르게 스캔하고 찾을 수 있도록 합니다. 환경을 만들 때 이 절충을 중요하게 고려해야 합니다.

앞서 설명한 혼합 현실 그리기 앱의 예는 방 시나리오에서 잘 작동하지 않습니다. 여기서 앵커를 배치하는 사용자는 다른 사용자가 환경에 신속하게 참여하기를 바랍니다. 사용자는 공간이 제대로 스캔될 때까지 환경을 시작하기 위해 기다리는 것을 원하지 않습니다. 모든 사용자는 디바이스에서 앵커를 찾을 수 있는 위치를 정확하게 알 수 있기 때문에 이 예는 대상 시나리오에 효율적으로 작동합니다.

앵커 위치

시각적 추적 시스템은 환경의 시각적 특징에 따라 달라집니다. 스캔에 포함되는 더 많은 시각적 특징을 통해 앵커를 찾을 가능성이 높아집니다.

이 섹션의 일반 지침에 따라 환경에 대한 유용한 스캔을 권장하는 UX를 작성합니다.

첫째, 사용자가 몇 초 내에 앵커를 찾지 못하는 경우 앱은 사용자가 디바이스를 이동하여 더 많은 큐브 뷰를 캡처하도록 권장해야 합니다. 또한 앱은 사용자가 환경에서 자신을 이동하여 더 많은 큐브 뷰에서 앵커를 스캔하도록 할 수도 있습니다. 디바이스에 표시되는 기능 큐브 뷰가 많을수록 앵커를 찾을 가능성이 높아집니다.

대상 시나리오의 경우 사용자에게 대상으로 이동하여 다른 큐브 뷰에서 보도록 요청합니다. 즉, 사용자가 앵커를 찾을 때까지 새 큐브 뷰에서 대상을 캡처하도록 요청합니다.

방 시나리오의 경우 사용자에게 방을 천천히 스캔하도록 요청합니다. 예를 들어 사용자에게 방의 180도 또는 360도를 캡처하도록 요청합니다. 또는 사용자에게 새 큐브 뷰에서 방을 보도록 요청합니다.

가장 의미있는 방법은 방 전체를 스캔하는 것입니다. 방 전체를 스캔하면 예를 들어 인접 벽을 스캔하는 것보다 환경의 더 많은 시각적 특징을 캡처합니다. 인접 벽 스캔 시 환경의 유용한 시각적 특징을 많이 캡처하지 않습니다.

앵커를 찾을 때 디바이스를 측면 간에 반복적으로 이동하는 것은 도움이 되지 않습니다. 이렇게 하면 동일한 큐브 뷰에서 동일한 지점이 캡처됩니다.

환경 테스트

이 문서에서는 일반적인 지침에 대해 설명했습니다. Spatial Anchors를 사용하면 실제 환경과 상호 작용하는 앱을 작성하게 됩니다. 따라서 실제 환경에서 앱의 앵커 시나리오를 테스트하는 데 시간을 할애해야 합니다. 이는 사용자가 앱을 사용해야 하는 위치를 나타내는 환경에서 특히 그렇습니다.