공간 핀 샘플

공간 핀 예제에 설명된 기능은 기본 World Locked Physics 샘플 장면에서도 사용할 수 있습니다.

그러나 공간 핀 장면은 공간 핀 기능에 대한 단순화되고 집중된 보기를 제공합니다. 큰 개체 또는 개체를 현실 세계 기능과 정렬해야 하는 현실 세계 애플리케이션의 내부 작업으로 더 가까이 이동하기 위한 것입니다.

따라서 보다 일반적인 World Locked Physics 샘플의 많은 옵션과 런타임 UX가 부족합니다.

기본 설정

적용된 World Locking Tools Manager 설정은 Unity 검사기에서 WorldLocking > WorldLockingManager 노드를 선택하여 검사할 수 있습니다.

특히 World Locking Tools의 자동 저장 및 자동 로드 기능을 사용할 수 있습니다. 따라서 아래 설명된 대로 구를 정렬하고 실제 피쳐에 비추는 광선을 측정하면 시작 시 후속 세션이 자동으로 해당 맞춤을 다시 시작합니다.

샘플을 깨끗한 상태로 다시 설정하려면 샘플을 제거하고 다시 배포합니다. 물론 스크립트에서 깨끗한 슬레이트로 다시 설정하기 위한 API가 있지만 명확성을 위해 여기서는 생략했습니다. IAlignmentManager.ClearAlignmentAnchors()를 참조하세요.

또한 데모에서는 자동 다시 맞춤 작업을 사용할 수 있습니다. 아래 내용을 참조하세요.

물리적 공간 설정

이 샘플에는 4개의 마커가 포함되어 있습니다. 샘플을 완전히 살펴보려면 가상 마커의 레이아웃에 해당하는 공간에 물리적 마커를 배치합니다.

참고: Unity 장면의 가상 마커 레이아웃은 물리적 공간에 맞게 변경될 수 있습니다. 기본 레이아웃에는 특별한 것이 없습니다. 그러나 공간 고정 기능의 이점을 보려면 마커가 상당히 넓게 분산되어야 하며 적어도 몇 미터의 구분이 필요합니다.

공간의 물리적 마커 레이아웃은 다음 다이어그램과 같이 Unity 장면의 가상 마커 레이아웃과 일치해야 합니다.

공백 핀 마커의 레이아웃

샘플 실행

Startup 클래스

첫 번째 세션을 시작할 때 Unity 좌표 공간의 원점은 시작 시 머리 포즈에 있습니다.

왼쪽 앞으로 6미터를 보면 위에 녹청색 정육면체가 있는 녹청색 구가 나타납니다.

오른쪽 뒤를 보면 10미터 떨어진 곳에 빨간색 구와 정육면체가 표시됩니다.

원점에서 앞으로 이동하고 뒤를 돌아보면 흰색 구와 정육면체가 표시됩니다. 그 너머 8미터에는 노란색 구와 정육면체가 있습니다.

구 아래에는 색상이 교대로 바뀌는 광선도 지나갑니다. 해당 목적은 연습 중에 알게 될 것입니다.

세계 정렬

색이 지정된 구 중 하나로 이동합니다. 이 연습은 빨간색 구로 시작됩니다.

빨간색 구로 걸어갑니다. 구는 HL2에서 손 광선을 사용하여 멀리서 잡거나 HL1로 응시하고 손가락으로 확대/축소할 수 있습니다. HL2에서는 손으로 잡을 수도 있습니다.

주위를 둘러보고 빨간색 구에 해당하는 물리적 방에 배치된 마커를 찾습니다. 위의 방법 중 하나로 가상의 빨간색 구를 잡고 빨간색 구의 마커로 끕니다. 가능한 한 물리적 마커에 맞게 구를 추가로 조정합니다.

이제 다른 구도 이동했습니다. 그러나 방향은 변경되지 않습니다. 즉, 가상 세계는 마커에 빨간색 구를 배치하기 위해 병진되었지만 세계의 방향은 아직 영향을 받지 않았습니다.

다른 구로 이동합니다. 이 연습에서 다음 차례는 흰색 구입니다.

위의 절차를 반복하여 가상의 흰색 구를 물리적 마커에 맞게 이동합니다.

이제 가상 공간이 회전되고 병진되어 빨간색, 흰색 및 녹청색 구가 여전히 일렬로 있고 흰색 구의 수직 오프셋에 노란색 구가 있습니다.

흰색 구 가까이에 있는 경우 물리적 마커에 정렬되어 있는지 확인합니다. 빨간색 구로 이동하고 물리적 마커에 정렬되어 있는지 확인합니다.

이제 나머지 구로 걸어갑니다. 이제 녹청색 구로 연습을 진행합니다.

녹청색 구는 빨간색 및 흰색 구와 일렬로 있지만 마커에 올바르게 배치되지 않았습니다. 오류의 정확한 벡터 및 크기는 디바이스와 상황에 따라 달라지지만 빨간색-흰색 구 줄에 거의 똑바르게 있지만 물리적 마커가 부족할 수 있습니다.

물리적 마커가 있는 올바른 맞춤으로 녹청색 구를 끕니다. 각 마커로 걸어가서 살펴보고 각 마커가 서로 근접한 상태에서 올바르게 정렬되었는지 확인합니다.

원하는 경우 최종 구에 대해 이 프로세스를 반복합니다.

대체 조작 모드

위의 연습은 마커의 상대적 위치 지정에 의해 가상 공간의 방향이 암시되는 애플리케이션의 기본 구성을 기반으로 합니다.

대체 모드에서는 구를 잡고 Y축을 기준으로 회전하여 방향을 명시적으로 설정할 수 있습니다.

가상 공간에서 개체의 위치 지정은 특정 방향으로 회전하는 것보다 훨씬 정확하기 때문에 위에서 설명한 기본 조작 모드가 일반적으로 훨씬 쉽습니다.

마찬가지로 자동 맞춤에 QR 코드를 사용하는 경우 QR 코드 마커에 대해 반환되는 위치는 방향보다 훨씬 안정적입니다.

그러나 일부 애플리케이션은 이 두 번째 방법을 사용하여 활용할 수 있는 원하는 공간 방향에 대한 고급 및 특정 지식을 가질 수 있습니다.

데모에서 명시적 방향 메서드를 사용하도록 설정하려면 다음의 마커 구에서 활성 공간 핀 지향성 조작 구성 요소를 사용하지 않도록 설정하면 됩니다.

콘텐츠 > 조작 > 마커 > CyanSphere/RedSphere/YellowSphere/GreySphere.

그리고 현재 사용하지 않도록 설정된 공간 핀 조작 구성 요소를 사용하도록 설정합니다.

권장 연습은 다음과 같습니다.

물리적 마커에 맞춰 정렬된 구 중 하나를 배치하고 다른 구가 올바른 방향으로 정렬되도록 방향을 지정합니다.

이제 다른 구는 잘못된 거리에 있지만 대략 올바른 벡터를 따라 이동합니다.

차례로 다른 구로 이동하고 각 구를 실제 마커에 맞게 재배치합니다. 더 이상 방향 변경이 필요하지 않습니다.

결과 살펴보기

줄자와 같은 측정 도구를 사용할 수 있는 경우 이 맞춤을 추가로 살펴볼 수 있습니다.

구가 올바르게 배치된 경우 각 구에 오류가 0개 있습니다.

구 아래를 지나는 T 광선은 미터 단위로 색상을 바꿉니다. 측정 디바이스에서 미터 마크를 사용하여 광선의 색상 변경 편차를 측정하면 공간 핀 사이의 영역에서 오류가 표시될 수 있습니다.

다시 맞춤 작업

자동 다시 맞춤 작업은 다음과 같이 매니페스트될 가능성이 큽니다.

  1. 하나 이상의 구를 배치하면 가상 개체가 예상대로 정렬됩니다.
  2. 그 후 추적이 손실됩니다.
  3. 다른 물리적 영역으로 이동하면 추적이 다시 시작됩니다.
  4. 첫 번째 구의 맞춤은 손실되고 영향을 주지 않습니다(다른 조각에 있기 때문).
  5. 공간의 새 섹션을 기준으로 이동하면(다른 구를 배치할 수 있음) 머리가 원래 공간으로 돌아갑니다.
  6. 다시 맞춤 작업이 자동으로 원래 조각과 새 조각을 결합합니다.
  7. 첫 번째 구의 맞춤이 다시 적용됩니다(현재 모두 동일한 조각에 있기 때문).