연습 - 솔버를 사용하여 지능형 개체 배치 만들기

완료됨

솔버는 MRTK(Mixed Reality Toolkit)의 구성 요소 중 하나입니다. 두 가지 유형의 솔버와 해당 기능을 살펴보겠습니다.

MRTK에서 해결기의 위치

MRTK의 솔버는 MRTK SDK 폴더에 있습니다. 프로젝트에서 사용 가능한 해결사를 보려면 프로젝트 창에서 패키지>MRTK 공간 조작>해결사로 이동합니다.

솔버 폴더의 위치를 보여 주는 스크린샷.

방향 표시기 솔버

방향 표시기 솔버를 사용하여 사용자를 개체로 안내합니다. 방법은 다음과 같습니다.

  1. 프로젝트 창에서 자산 >MRTK.Tutorials.GettingStarted>프리팹 폴더로 이동합니다. 펼침 단추 프리팹을 계층 구조 창으로 끌어서 변환 위치를 X = 0, Y = 1.5, Z = 2로 설정하여 RoverExplorer 개체 근처에 배치합니다.

    새로 추가된 펼침 단추 프리팹이 선택된 것을 보여 주는 스크린샷.

  2. 새로 추가된 펼침 단추 개체의 이름을 표시기로 바꿉니다. 그런 다음, 인스펙터 창에서 구성 요소 추가를 선택하여 방향 표시기를 추가합니다.

    방향 표시기 솔버가 추가된 것을 보여 주는 스크린샷.

  3. 방향 표시기SolverHandler 구성 요소를 다음과 같이 구성합니다.

    a. SolverHandler 구성 요소의 추적 대상 유형이헤드로 설정되어 있는지 확인합니다.

    b. RoverExplorer계층 구조에서 None(변환) 필드로 끌어와 방향 표시기 구성 요소의 방향 대상으로 할당합니다.

    다. 뷰 오프셋0.2로 변경합니다.

    방향 표시기 솔버 구성 요소가 구성된 것을 보여 주는 스크린샷.

  4. 게임 모드로 들어가려면 재생을 누릅니다. 마우스 오른쪽 버튼을 누른 상태에서 마우스를 좌우로 움직이면 응시 방향이 회전합니다.

    RoverExplorer 개체에서 벗어나면 표시 개체가 나타나고 RoverExplorer 개체를 가리킵니다.

    DirectionalIndicator 솔버가 사용되는 재생 모드 분할 보기를 보여 주는 스크린샷.

탭하여 배치하기 솔버

탭하여 배치하기 솔버를 사용하여 개체의 위치를 변경합니다. 방법은 다음과 같습니다.

  1. 계층 구조 창에서 RoverExplorer>RoverAssembly 개체를 선택합니다. 그런 다음 인스펙터에서 구성 요소 추가를 사용하여 탭하여 배치 구성 요소를 추가합니다. 다음과 같이 구성 요소를 구성합니다.

    a. SolverHandler 구성 요소의 추적 대상 유형이헤드로 설정되어 있는지 확인합니다.

    b. 기본값인 표면 기본 오프셋 사용을 선택 취소하고 표면 기본 오프셋이 0으로 설정되어 있는지 확인합니다.

    c. 세로 방향 유지 확인란을 선택합니다.

    추가 및 구성된 탭하여 배치하기 솔버 구성 요소를 보여 주는 스크린샷.

  2. 그런 다음 구성 요소 추가를 사용하여 상태 저장 상호 작용 가능 구성 요소를 추가합니다. 검사기 창에서 On Clicked() 이벤트를 찾습니다. + 아이콘을 선택하여 새로운 이벤트를 추가합니다. 이벤트를 다음과 같이 구성합니다.

    a. RoverAssembly 개체를 계층 구조에서 없음(개체) 필드로 끌어서 On Clicked () 이벤트의 수신기로 할당합니다.

    b. 함수 없음 드롭다운 목록에서 TapToPlace>StartPlacement()를 선택하여 이벤트가 트리거될 때 이 메서드를 호출합니다.

    배치 시작 시 탭하여 배치하기 이벤트가 구성된 것을 보여 주는 스크린샷.

  3. 계층 구조 창에서 RoverAssembly 개체를 선택한 상태에서 인스펙터 창에서 () 이벤트를 찾습니다. + 아이콘을 선택하여 새로운 이벤트를 추가합니다.

    배치 시작 시 탭하여 배치하기 이벤트가 추가된 것을 보여 주는 스크린샷.

  4. 이벤트를 다음과 같이 구성합니다.

    a. RoverAssembly 개체를 계층 구조에서 None(개체) 필드로 끌어서 배치 시작 시() 이벤트의 수신기로 할당합니다.

    b. 함수 없음 드롭다운 목록에서 탭하여 배치하기>float SurfaceNormalOffset을 선택하여 이벤트가 트리거될 때 SurfaceNormalOffset 속성 값을 업데이트합니다.

    다. 인수가 0으로 설정되어 있는지 확인합니다.

    배치 시작 시 탭하여 배치하기 이벤트가 구성된 것을 보여 주는 스크린샷.

  5. 계층 구조에서 빈 지점을 마우스 오른쪽 단추로 클릭합니다. 3D 개체>큐브를 선택하여 지면을 나타내는 임시 개체를 만들고 다음과 같이 변환 구성 요소를 구성합니다.

    • 위치: X = 0, Y = 0.15, Z = 6
    • 회전: X = 0, Y = 0, Z = 0
    • 배율: X = 10, Y = 0.2, Z = 10

    추가되고 위치 지정된 임시 지면 큐브 개체를 보여 주는 스크린샷.

  6. 게임 모드로 들어가려면 재생을 누릅니다. 그런 다음 RoverAssembly 개체를 응시할 때까지 마우스 오른쪽 버튼을 누른 상태에서 마우스를 아래로 이동합니다.

    RoverAssembly 개체를 응시하는 재생 모드 분할 보기를 보여 주는 스크린샷.

  7. 스페이스바를 누르면서 마우스 왼쪽 단추를 클릭하여 에어 탭을 수행하고 탭하여 배치 프로세스를 시작합니다.

    배치가 시작된 재생 모드 분할 보기를 보여 주는 스크린샷.

  8. 마우스 오른쪽 버튼을 누른 상태에서 마우스를 좌우로 움직이면 응시 방향이 회전합니다. 배치에 마음에 들면 스페이스바를 누르면서 마우스 왼쪽 단추를 클릭하여 엔딩 에어 탭을 수행합니다.

    배치가 완료된 재생 모드 분할 보기를 보여 주는 스크린샷.

  9. 게임 모드에서 기능 테스트를 마치면 큐브 개체를 마우스 오른쪽 단추로 클릭하고 삭제를 선택하여 씬에서 제거합니다.

    임시 지면 큐브를 삭제하는 방법을 보여 주는 스크린샷.