4. 여러 사용자와 개체 움직임 공유4. Sharing object movements with multiple users

이 자습서에서는 공유 환경의 모든 참가자가 협업하고 서로의 상호 작용을 볼 수 있도록 개체의 움직임을 공유하는 방법에 대해 알아봅니다.In this tutorial, you will learn how to share the movements of objects so that all participants of a shared experience can collaborate and view each other's interactions.

목표Objectives

  • 개체의 움직임을 공유하도록 프로젝트 구성Configure your project to share the movements of objects
  • 기본 다중 사용자 협업 앱을 빌드하는 방법 알아보기Learn how to build a basic multi-user collaborative app

장면 준비Preparing the scene

이 섹션에서는 자습서 프리팹을 추가하여 장면을 준비합니다.In this section, you will prepare the scene by adding the tutorial prefab.

Project 창에서 Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs 폴더로 이동하여 TableAnchor 프리팹을 Hierarchy 창의 SharedPlayground 개체로 끌어와서 SharedPlayground 개체의 자식으로 장면에 추가합니다.In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs folder and drag the TableAnchor prefab onto the SharedPlayground object in the Hierarchy window to add it to your scene as a child of the SharedPlayground object:

새로 추가한 TableAnchor 프리팹이 선택된 Unity

개체를 인스턴스화하도록 PUN 구성Configuring PUN to instantiate the objects

이 섹션에서는 시작 자습서에서 만든 Rover 탐색기 환경을 사용하도록 프로젝트를 구성하고 인스턴스화할 위치를 정의합니다.In this section, you will configure the project to use the Rover Explorer experience created during the Getting started tutorials and define where it will be instantiated.

Project 창에서 Assets > MRTK.Tutorials.MultiUserCapabilities > Resources 폴더로 이동합니다.In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Resources folder.

Hierarchy 창에서 NetworkLobby 개체를 펼쳐서 NetworkRoom 자식 개체를 선택한 다음, Inspector 창에서 Photon Room (Script) 구성 요소를 찾아서 다음과 같이 구성합니다.In the Hierarchy window, expand the NetworkLobby object and select the NetworkRoom child object, then in the Inspector window, locate the Photon Room (Script) component and configure it as follows:

  • Rover 탐색기 프리팹 필드에 대해 리소스 폴더에서 RoverExplorer_Complete_Variant 프리팹을 할당합니다.To the Rover Explorer Prefab field, assign the RoverExplorer_Complete_Variant prefab from the Resources folder

Photon Room 구성 요소가 부분적으로 구성된 Unity

NetworkRoom 자식 개체가 선택된 상태로 Hierarchy 창에서 TableAnchor 개체를 펼친 다음, Inspector 창에서 Photon Room (Script) 구성 요소를 찾아서 다음과 같이 구성합니다.With the NetworkRoom child object still selected, in the Hierarchy window, expand the TableAnchor object, then in the Inspector window, locate the Photon Room (Script) component and configure it as follows:

  • Rocket 탐색기 위치 필드에 대해 Hierarchy 창에서 TableAnchor > Table 자식 개체를 할당합니다.To the Rover Explorer Location field, assign the TableAnchor > Table child object from the Hierarchy window

Photon Room 구성 요소가 구성된 Unity

공유 개체 움직임 환경 체험Trying the experience with shared object movement

Unity 프로젝트를 빌드하고 HoloLens에 배포했으면 Unity로 돌아가서 HoloLens에서 앱이 실행되는 동안 재생 단추를 눌러 게임 모드로 들어갑니다. HoloLens에서 개체를 움직이면 Unity에서 개체가 움직이는 것을 볼 수 있습니다.If you now build and deploy the Unity project to your HoloLens, and then, back in Unity, press the Play button to enter Game mode while the app is running on your HoloLens, you will see the object move in Unity when you move the object in HoloLens:

네트워크 개체를 사용하여 Unity를 보여주는 애니메이션

축하합니다.Congratulations

다른 사용자가 개체를 움직일 때 개체가 움직이는 것을 볼 수 있도록 개체 이동을 동기화하도록 프로젝트를 성공적으로 구성했습니다.You have successfully configured your project to synchronize object movements so users can see the objects move when other users move them. 다음 자습서에서는 실제 환경에 맞게 환경을 조정하는 기능을 구현합니다.In the next tutorial, you will implement functionality to align the experience in the physical world. 이렇게 하면 사용자가 실제 위치에서 서로 볼 수 있으므로 개체는 모든 사용자에 대해 동일한 물리적 위치와 회전에 표시됩니다.This will ensure the users see each other in their actual physical location, and so the objects appear in the same physical position and rotation for all users.