광선 핀 예제

함께 제공되는 비디오

컨텍스트 제공을 위해 함께 제공되는 비디오에서 애플리케이션의 실제 작동 모습을 확인하세요.

공간 핀 샘플은 MRTK 어포던스를 통해 마커 개체를 위치에 수동으로 조작하여 공간 핀을 설정하는 방법을 보여줍니다. 공간 핀 기능에 대한 보다 추상적인 내용은 이 샘플과 관련된 배경이기도 합니다.

이 샘플에서는 개체를 수동으로 조작하는 대신 공간 재구성 메시에 광선 투사 테스트를 사용하여 월드 맞춤을 설정합니다.

중요한 점으로, 이 샘플에서는 편집기에서 자산을 설정하지 않고 스크립트를 통해 필요한 모든 World Locking Tools 구성 요소를 만듭니다.

장면 내용

RayPins 장면에는 8개의 공간 핀 가상 마커 개체가 있습니다. 4개는 사각형의 북동쪽, 남동쪽, 북서쪽, 남서쪽 모퉁이 바닥에 있고, 각 변의 길이는 4미터입니다.

또 다른 4개는 1미터 위에 있으며, 6미터 떨어진 벽의 지점이라는 것을 시사합니다.

샘플 빌드

이 샘플을 사용하려면 SpatialPerception 기능이 필요합니다. 음성 명령에도 마이크 기능이 필요합니다.

샘플 실행

물리적 설정

약간의 여유가 있는 물리적 공간을 찾습니다. 장면의 가상 마커와 동일한 분리 위치에 있는 바닥과 벽에 마커를 놓습니다. 반드시 가상 마커마다 물리적 마커가 있어야 하는 것은 아닙니다.

해당하는 가상 마커의 이름을 실제 마커의 레이블로 지정하거나(예: "NW") 위치가 레이블로 지정된 맵을 그리면 도움이 됩니다.

앱 설정

RayPins 장면을 빌드하고 디바이스에 배포합니다.

앱 실행

Startup 클래스

시작 시 좌표계는 헤드 위치를 기반으로 하고, 가상 그리드 및 마커는 임의로 배치됩니다.

첫 번째 마커

라디오 선택 단추에서, 해당하는 실제 마커가 방에 있는 표식 중 하나를 선택합니다. 방에서 실제 마커를 클릭합니다. 선택한 가상 마커가 광선 적중 물리적 마커에 맞게 정렬되도록 장면이 이동합니다.

맞춤이 만족스럽지 않은 경우(예: 선택할 때 미끄러짐) 적절한 라디오 단추를 선택한 상태에서 만족스러운 맞춤이 이루어질 때까지 선택을 반복하면 됩니다.

두 번째 마커

방의 다른 실제 마커로 이동하고, 라디오 선택 단추에서 해당 가상 마커를 선택합니다. 해당 물리적 마커를 클릭합니다. 그리드와 마커가 회전하여 정렬된 두 표식에 맞춥니다.

더 많은 마커

사용자가 배치된 처음 두 핀 중 하나와 가까이 있으면 실제 마커와 가상 마커가 매우 가깝게 맞춰집니다.

그러나 다른 마커의 경우 물리적 마커와 가상 마커 간에 상당한 맞춤 오차가 있을 수 있습니다. 이러한 오차는 다양한 원인으로 발생할 수 있지만, 주로 물리적 마커의 부정확한 배치 또는 추적기 오류 때문에 발생합니다.

방에 배치된 또 다른 물리적 마커에 대해 라디오 단추를 선택하고 가상 마커의 광선 적중 배치를 반복합니다. 이 배치 프로세스가 끝나면 이러한 마커가 가까이 있을 때 적절하게 맞춰집니다.

확인

실제 테이프 측정을 사용하여 마커 간의 보간된 맞춤을 확인할 수 있습니다. 그리드 선의 간격은 1미터이고, 선 너비는 1센티미터입니다.

지속성

자동 저장 및 자동 로드는 RayPins 장면의 WorldLockingContext에서 사용하도록 설정되므로, 콘텐츠를 실제 방에 맞추고 앱을 종료한 후 애플리케이션을 다시 실행하면 가상 그리드와 마커가 실제 방과의 맞춤을 다시 시작합니다.

맞춤을 지우고 다시 시작하려면 라디오 초기화 단추를 선택하거나 애플리케이션을 제거하고 다시 설치합니다.