MR 기본 100: Unity 시작MR Basics 100: Getting started with Unity

중요

Mixed Reality 아카데미 자습서는 HoloLens(1세대) 및 Mixed Reality 몰입형 헤드셋을 염두에 두고 설계되었습니다.The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. 따라서 이러한 디바이스 개발에 대한 지침을 계속 찾고 있는 개발자를 위해 이러한 자습서를 그대로 두는 것이 중요합니다.As such, we feel it is important to leave these tutorials in place for developers who are still looking for guidance in developing for those devices. 이러한 자습서는 HoloLens 2에 사용되는 최신 도구 집합 또는 상호 작용으로 업데이트되지 않습니다.These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. 대신 지원되는 디바이스에서 계속 작동하도록 유지 관리됩니다.They will be maintained to continue working on the supported devices. HoloLens 2에 대한 새로운 자습서 시리즈가 게시되었습니다.A new series of tutorials has been posted for HoloLens 2.

이 자습서에서는 Unity로 빌드된 기본 혼합 현실 앱을 만드는 과정을 안내 합니다.This tutorial will walk you through creating a basic mixed reality app built with Unity.

디바이스 지원Device support

과정Course HoloLensHoloLens 몰입형 헤드셋Immersive headsets
MR 기본 100: Unity 시작MR Basics 100: Getting started with Unity ✔️✔️ ✔️✔️

사전 요구 사항Prerequisites

1 장-새 프로젝트 만들기Chapter 1 - Create a New Project

Unity를 사용 하 여 앱을 빌드하려면 먼저 프로젝트를 만들어야 합니다.To build an app with Unity, you first need to create a project. 이 프로젝트는 몇 개의 폴더로 구성 되며 가장 중요 한 것은 자산 폴더입니다.This project is organized into a few folders, the most important of which is your Assets folder. 이 폴더는 Maya, Max 시네마, Photoshop 등의 디지털 콘텐츠 생성 도구에서 가져온 모든 자산, Visual Studio 또는 즐겨 찾는 코드 편집기를 사용 하 여 만든 모든 코드 및 편집기에서 장면, 애니메이션 및 기타 Unity 자산 형식을 작성할 때 Unity에서 만드는 모든 콘텐츠 파일을 포함 하는 폴더입니다.This is the folder that holds all assets you import from digital content creation tools such as Maya, Max Cinema 4D or Photoshop, all code you create with Visual Studio or your favorite code editor, and any number of content files that Unity creates as you compose scenes, animations and other Unity asset types in the editor.

UWP 앱을 빌드 및 배포 하기 위해 Unity는 필요한 모든 자산과 코드 파일을 포함 하는 Visual Studio 솔루션으로 프로젝트를 내보낼 수 있습니다.To build and deploy UWP apps, Unity can export the project as a Visual Studio solution that will contain all necessary asset and code files.

  1. Unity 시작Start Unity
  2. 새로 만들기 를 선택합니다.Select New
  3. 프로젝트 이름 (예: "MixedRealityIntroduction")을 입력 합니다.Enter a project name (e.g. "MixedRealityIntroduction")
  4. 프로젝트를 저장할 위치를 입력 하십시오.Enter a location to save your project
  5. 3d 토글이 선택 되어 있는지 확인 합니다.Ensure the 3D toggle is selected
  6. 프로젝트 만들기 선택Select Create project

이제 혼합 현실 사용자 지정을 시작 하기 위한 모든 설정이 축 하 합니다.Congrats, you are all setup to get started with your mixed reality customizations now.

2 장-카메라 설정Chapter 2 - Setup the Camera

Unity 기본 카메라는 헤드 추적 및 stereoscopic 렌더링을 처리 합니다.The Unity Main Camera handles head tracking and stereoscopic rendering. 혼합 현실에서 사용할 수 있도록 기본 카메라에 몇 가지 변경 사항이 있습니다.There are a few changes to make to the Main Camera to use it with mixed reality.

  1. 파일 > 새 장면 선택Select File > New Scene

첫째, 사용자의 시작 위치 (X: 0, Y: 0, Z: 0)를 생각해 보면 앱을 레이아웃 하는 것이 더 쉽습니다.First, it will be easier to lay out your app if you imagine the starting position of the user as (X: 0, Y: 0, Z: 0). 주 카메라가 사용자 헤드의 이동을 추적 하므로 기본 카메라의 시작 위치를 설정 하 여 사용자의 시작 위치를 설정할 수 있습니다.Since the Main Camera is tracking movement of the user's head, the starting position of the user can be set by setting the starting position of the Main Camera.

  1. 계층 패널에서 주 카메라 를 선택 합니다.Select Main Camera in the Hierarchy panel
  2. 검사기 패널에서 변형 구성 요소를 찾아 위치 를 (x: 0, y: 1, z:-10)에서 (x: 0, y: 0, z: 0)로 변경 합니다.In the Inspector panel, find the Transform component and change the Position from (X: 0, Y: 1, Z: -10) to (X: 0, Y: 0, Z: 0)

둘째, 기본 카메라 배경을 고려해 야 합니다.Second, the default Camera background needs some thought.

HoloLens 응용 프로그램의 경우 실제 세계는 Skybox 질감이 아닌 카메라에서 렌더링 하는 모든 항목 뒤에 표시 되어야 합니다.For HoloLens applications, the real world should appear behind everything the camera renders, not a Skybox texture.

  1. 계층 패널 에서 주 카메라 를 선택 하 고, 검사기 패널에서 카메라 구성 요소를 찾고, Clear Flags 드롭다운에서 Skybox 에서 Solid 색 으로 변경 합니다.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and change the Clear Flags dropdown from Skybox to Solid Color.
  2. 배경색 선택을 선택 하 고 RGBA 값을 (0, 0, 0, 0)으로 변경 합니다.Select the Background color picker and change the RGBA values to (0, 0, 0, 0)

모던 헤드셋을 대상으로 하는 혼합 현실 응용 프로그램의 경우 Unity에서 제공 하는 기본 Skybox 텍스처를 사용할 수 있습니다.For mixed reality applications targeted to immersive headsets, we can use the default Skybox texture that Unity provides.

  1. 계층 패널 에서 주 카메라 를 선택 하 고, 검사기 패널에서 카메라 구성 요소를 찾고, Clear Flags 드롭다운을 Skybox 으로 유지 합니다.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and keep the Clear Flags dropdown to Skybox.

셋째, Unity에서 가까운 클립 평면을 고려 하 고 사용자가 개체 또는 개체에 접근 하기 때문에 개체가 사용자 눈에 너무 가깝게 렌더링 되지 않도록 할 수 있습니다.Third, let us consider the near clip plane in Unity and prevent objects from being rendered too close to the users eyes as a user approaches an object or an object approaches a user.

Hololens 응용 프로그램의 경우 가까운 클립 평면을 hololens 권장 0.85 미터로 설정할 수 있습니다.For HoloLens applications, the near clip plane can be set to the HoloLens recommended 0.85 meters.

  1. 계층 패널 에서 주 카메라 를 선택 하 고, 검사기 패널에서 카메라 구성 요소를 찾아 가까운 클립 평면 필드를 기본 0.3 에서 HoloLens 권장 0.85 로 변경 합니다.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and change the Near Clip Plane field from the default 0.3 to the HoloLens recommended 0.85.

모던 헤드셋을 대상으로 하는 혼합 현실 응용 프로그램의 경우 Unity에서 제공 하는 기본 설정을 사용할 수 있습니다.For mixed reality applications targeted to immersive headsets, we can use the default setting that Unity provides.

  1. 계층 패널에서 주 카메라 를 선택 하 고, 검사기 패널에서 카메라 구성 요소를 찾아 가까운 클립 평면 필드를 기본 0.3 으로 유지 합니다.With the Main Camera still selected in the Hierarchy panel, find the Camera component in the Inspector panel and keep the Near Clip Plane field to the default 0.3.

마지막으로 지금까지 진행 상황을 저장 해 주세요.Finally, let us save our progress so far. 장면 변경 내용을 저장 하려면 > 파일을 선택 하 고 다른 이름으로 장면 저장선택한 다음, 저장 을 선택 합니다.To save the scene changes, select File > Save Scene As, name the scene Main, and select Save.

3 장-프로젝트 설정 설치Chapter 3 - Setup the Project Settings

이 장에서는 개발을 위해 Windows Holographic SDK를 대상으로 하는 데 도움이 되는 몇 가지 Unity 프로젝트 설정을 설정 합니다.In this chapter, we will set some Unity project settings that help us target the Windows Holographic SDK for development. 응용 프로그램에 대 한 몇 가지 품질 설정도 설정 됩니다.We will also set some quality settings for our application. 마지막으로 빌드 대상이 유니버설 Windows 플랫폼로 설정 되었는지 확인 합니다.Finally, we will ensure our build targets are set to Universal Windows Platform.

Unity 성능 및 품질 설정Unity performance and quality settings

HoloLens 용 Unity 품질 설정Unity quality settings for HoloLens

HoloLens 용 Unity 품질 설정

HoloLens에서 높은 프레임 속도를 유지 하는 것이 매우 중요 하기 때문에 최상의 성능을 위해 품질 설정을 조정 하려고 합니다.Since maintaining high framerate on HoloLens is so important, we want the quality settings tuned for fastest performance. 자세한 성능 정보는 Unity에 대 한 성능 권장 사항을 제공 합니다.For more detailed performance information, Performance recommendations for Unity.

  1. 편집 > 프로젝트 설정 > 품질 을 선택 합니다.Select Edit > Project Settings > Quality
  2. 유니버설 Windows 플랫폼 로고 아래에 있는 드롭다운 을 선택 하 고 매우 낮음 을 선택 합니다.Select the dropdown under the Universal Windows Platform logo and select Very Low. 유니버설 Windows 플랫폼 열의 상자와 매우 낮은 행이 녹색 이면 설정이 올바르게 적용 됩니다.You'll know the setting is applied correctly when the box in the Universal Windows Platform column and Very Low row is green.

폐색를 대상으로 하는 혼합 현실 응용 프로그램의 경우 품질 설정을 기본값으로 그대로 둘 수 있습니다.For mixed reality applications targeted to occluded displays, you can leave the quality settings to its default values.

Windows 10 SDK를 대상으로 합니다.Target Windows 10 SDK

Windows Holographic SDK 대상Target Windows Holographic SDK

Windows Holographic SDK 대상

내보내려는 앱이 2D 보기 대신 몰입 형 보기 를 만들어야 한다고 Unity에 알려야 합니다.We need to let Unity know that the app we are trying to export should create an immersive view instead of a 2D view. Windows 10 SDK를 대상으로 하는 Unity에서 가상 현실 지원을 사용 하도록 설정 하 여이 작업을 수행 합니다.We do this by enabling Virtual Reality support on Unity targeting the Windows 10 SDK.

  1. 편집 > 프로젝트 설정 > 플레이어 로 이동 합니다.Go to Edit > Project Settings > Player.
  2. 플레이어 설정에 대 한 검사기 패널 에서 유니버설 Windows 플랫폼 아이콘을 선택 합니다.In the Inspector Panel for Player Settings, select the Universal Windows Platform icon.
  3. XR 설정 그룹을 확장합니다.Expand the XR Settings group.
  4. 렌더링 섹션에서 가상 현실 지원 확인란을 선택하여 새 가상 현실 SDK 목록을 추가합니다.In the Rendering section, check the Virtual Reality Supported checkbox to add a new Virtual Reality SDKs list.
  5. 목록에 Windows Mixed Reality 가 나타나는지 확인합니다.Verify that Windows Mixed Reality appears in the list. 그렇지 않은 경우 목록 아래쪽에서 + 단추를 선택하고 Windows Mixed Reality 를 선택합니다.If not, select the + button at the bottom of the list and choose Windows Mixed Reality.

참고

유니버설 Windows 플랫폼 아이콘이 표시 되지 않는 경우 설치 중에 빌드 지원 유니버설 Windows 플랫폼 선택 했는지 확인 합니다.If you do not see the Universal Windows Platform icon, double check to make sure you selected Universal Windows Platform Build Support during installation. 이 항목을 선택하지 않은 경우 올바른 Windows 설치를 사용하여 Unity를 다시 설치해야 할 수 있습니다.If not, you may need to reinstall Unity with the correct Windows installation.

모든 프로젝트 설정을 적용 하기 위한 놀라운 작업입니다.Awesome job on getting all the project settings applied. 다음으로, 홀로그램을 추가 해 보겠습니다.Next, let us add a hologram!

4 장-큐브 만들기Chapter 4 - Create a cube

Unity 프로젝트에서 큐브를 만드는 것은 Unity에서 다른 개체를 만드는 것과 같습니다.Creating a cube in your Unity project is just like creating any other object in Unity. Unity의 좌표계가 실제 세계에 매핑되므로 unity의 좌표계가 실제 환경에서 약 1 미터의 약 1 미터에 매핑되므로 사용자 앞에 큐브를 배치 하는 것이 쉽습니다.Placing a cube in front of the user is easy because Unity's coordinate system is mapped to the real world - where one meter in Unity is approximately one meter in the real world.

  1. 계층 패널의 왼쪽 위 모서리에서 만들기 드롭다운을 선택 하 고 3d 개체 > 큐브 를 선택 합니다.In the top left corner of the Hierarchy panel, select the Create dropdown and choose 3D Object > Cube.
  2. 계층 패널에서 새로 만든 큐브 를 선택 합니다.Select the newly created Cube in the Hierarchy panel
  3. 검사기 에서 변형 구성 요소를 찾고 위치 를 (X: 0, Y: 0, Z: 2)로 변경 합니다.In the Inspector find the Transform component and change Position to (X: 0, Y: 0, Z: 2). 이는 큐브 2 미터를 사용자의 시작 위치 앞에 배치 합니다.This positions the cube 2 meters in front of the user's starting position.
  4. 변환 구성 요소에서 회전 을 (x: 45, y: 45, z: 45)로 변경 하 고 Scale 을 (x: 0.25, Y: 0.25, z: 0.25)로 변경 합니다.In the Transform component, change Rotation to (X: 45, Y: 45, Z: 45) and change Scale to (X: 0.25, Y: 0.25, Z: 0.25). 그러면 큐브의 크기가 0.25 미터가 됩니다.This scales the cube to 0.25 meters.
  5. 장면 변경 내용을 저장 하려면 파일 > 장면 저장 을 선택 합니다.To save the scene changes, select File > Save Scene.

5 장-Unity 편집기에서 장치 확인Chapter 5 - Verify on device from Unity editor

이제 큐브를 만들었으므로 장치를 빠르게 확인할 수 있습니다.Now that we have created our cube, it is time to do a quick check in device. Unity 편집기 내에서이 작업을 직접 수행할 수 있습니다.You can do this directly from within the Unity editor.

초기 설정Initial setup

  1. 개발 PC의 Unity에서 파일 > 빌드 설정 창을 엽니다.On your development PC, in Unity, open File > Build Settings window.
  2. 플랫폼유니버설 Windows 플랫폼 로 변경 하 고 플랫폼 전환 을 클릭 합니다.Change Platform to Universal Windows Platform and click Switch Platform

HoloLens의 경우 Unity 원격 기능 사용For HoloLens use Unity Remoting

  1. HoloLens에서 Windows 스토어에서 사용할 수 있는 Holographic Remoting 플레이어를 설치 하 고 실행 합니다.On your HoloLens, install and run the Holographic Remoting Player, available from the Windows Store. 장치에서 응용 프로그램을 시작 하면 대기 중 상태로 전환 되 고 장치의 IP 주소가 표시 됩니다.Launch the application on the device, and it will enter a waiting state and show the IP address of the device. IP를 적어둡니다.Note down the IP.
  2. 창 > XR > Holographic 에뮬레이션 을 엽니다.Open Window > XR > Holographic Emulation.
  3. 에뮬레이션 모드없음 에서 원격에서 장치로 변경 합니다.Change Emulation Mode from None to Remote to Device.
  4. 원격 컴퓨터 에 앞에서 적어둔 HOLOLENS의 IP 주소를 입력 합니다.In Remote Machine, enter the IP address of your HoloLens noted earlier.
  5. 연결 을 클릭합니다.Click Connect.
  6. 연결 상태가 녹색으로 변경 되었는지 확인 합니다.Ensure the Connection Status changes to green Connected.
  7. 이제 Unity 편집기에서 Play 를 클릭할 수 있습니다.Now you can now click Play in the Unity editor.

이제 장치 및 편집기에서 큐브를 볼 수 있습니다.You will now be able to see the cube in device and in the editor. 편집기에서 응용 프로그램을 실행 하는 것 처럼 편집기에서 응용 프로그램을 실행 하는 것 처럼 응용 프로그램을 일시 중지 하 고 검사 하 고 디버그할 수 있습니다. 단, 비디오, 오디오 및 장치 입력은 네트워크를 통해 호스트 컴퓨터와 장치 간에 전송 됩니다.You can pause, inspect objects, and debug just like you are running an app in the editor, because that's essentially what's happening, but with video, audio, and device input transmitted back and forth across the network between the host machine and the device.

다른 혼합 현실 지원 헤드셋의 경우For other mixed reality supported headsets

  1. USB 케이블과 HDMI 또는 디스플레이 포트 케이블을 사용 하 여 개발 PC에 헤드셋을 연결 합니다.Connect the headset to your development PC using the USB cable and the HDMI or display port cable.
  2. 혼합 현실 포털 을 시작 하 고 첫 실행 환경을 완료 했는지 확인 합니다.Launch the Mixed Reality Portal and ensure you have completed the first run experience.
  3. 이제 Unity에서 재생 단추를 누를 수 있습니다.From Unity, you can now press the Play button.

이제 혼합 현실 헤드셋 및 편집기에서 큐브 렌더링을 볼 수 있습니다.You will now be able to see the cube rendering in your mixed reality headset and in the editor.

6 장-Visual Studio에서 장치 빌드 및 배포Chapter 6 - Build and deploy to device from Visual Studio

이제 프로젝트를 Visual Studio로 컴파일하고 대상 장치에 배포할 준비가 되었습니다.We are now ready to compile our project to Visual Studio and deploy to our target device.

Visual Studio 솔루션으로 내보내기Export to the Visual Studio solution

  1. 파일 > 빌드 설정 창을 엽니다.Open File > Build Settings window.
  2. 열려 있는 장면 추가 를 클릭 하 여 장면을 추가 합니다.Click Add Open Scenes to add the scene.
  3. 플랫폼유니버설 Windows 플랫폼 로 변경 하 고 플랫폼 전환 을 클릭 합니다.Change Platform to Universal Windows Platform and click Switch Platform.
  4. 유니버설 Windows 플랫폼 설정에서 SDK유니버설 10 인지 확인 합니다.In Universal Windows Platform settings, ensure SDK is Universal 10.
  5. 대상 장치에 대해 폐색를 표시 하거나 HoloLens 로 전환 하는 모든 장치 를 그대로 둡니다.For Target device, leave to Any Device for occluded displays or switch to HoloLens.
  6. UWP 빌드 형식은 D3D 이어야 합니다.UWP Build Type should be D3D.
  7. UWP SDK설치 된 최신 버전 으로 유지할 수 있습니다.UWP SDK could be left at Latest installed.
  8. 빌드 를 클릭한 다음Click Build.
  9. 파일 탐색기에서 새 폴더 를 클릭 하 고 폴더 이름을 "App" 으로 선택 합니다.In the file explorer, click New Folder and name the folder "App".
  10. 폴더가 선택 된 상태에서 폴더 선택 단추를 클릭 합니다.With the App folder selected, click the Select Folder button.
  11. Unity가 빌드를 완료 하면 Windows 파일 탐색기 창이 표시 됩니다.When Unity is done building, a Windows File Explorer window will appear.
  12. 파일 탐색기에서 폴더를 엽니다.Open the App folder in file explorer.
  13. 생성 된 Visual Studio 솔루션 (이 예제에서는 MixedRealityIntroduction)을 엽니다.Open the generated Visual Studio solution (MixedRealityIntroduction.sln in this example)

Visual Studio 솔루션 컴파일Compile the Visual Studio solution

마지막으로, 내보낸 Visual Studio 솔루션을 컴파일하여 배포 하 고 장치에서 사용해 보세요.Finally, we will compile the exported Visual Studio solution, deploy it, and try it out on the device.

  1. Visual Studio의 맨 위 도구 모음을 사용 하 여 대상을 디버그 에서 릴리스 로, ARM 에서 x 86 으로 변경 합니다.Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to X86.

지침은 장치 및 에뮬레이터에 배포 하는 경우와 다릅니다.The instructions differ for deploying to a device versus the emulator. 설치와 일치 하는 지침을 따르세요.Follow the instructions that match your setup.

Wi-Fi을 통해 혼합 현실 장치에 배포Deploy to mixed reality device over Wi-Fi

  1. 로컬 컴퓨터 단추 옆의 화살표를 클릭 하 고 배포 대상을 원격 컴퓨터로 변경 합니다.Click on the arrow next to the Local Machine button, and change the deployment target to Remote Machine.
  2. 혼합 현실 장치의 IP 주소를 입력 하 고 다른 장치의 HoloLens 및 Windows 에 대 한 인증 모드 를 유니버설 (암호화 되지 않은 프로토콜)으로 변경 합니다.Enter the IP address of your mixed reality device and change Authentication Mode to Universal (Unencrypted Protocol) for HoloLens and Windows for other devices.
  3. 디버그 > 디버깅 하지 않고 시작 을 클릭 합니다.Click Debug > Start without debugging.

HoloLens의 경우 장치에 처음 배포 하는 경우 Visual Studio를 사용 하 여페어링 해야 합니다.For HoloLens, If this is the first time deploying to your device, you will need to pair using Visual Studio.

USB를 통해 혼합 현실 장치에 배포Deploy to mixed reality device over USB

USB 케이블을 통해 장치가 연결 되어 있는지 확인 합니다.Ensure you device is plugged in via the USB cable.

  1. HoloLens의 경우 로컬 컴퓨터 단추 옆에 있는 화살표를 클릭 하 고 배포 대상을 장치 로 변경 합니다.For HoloLens, click on the arrow next to the Local Machine button, and change the deployment target to Device.
  2. PC에 연결 된 폐색 장치를 대상으로 지정 하려면 설정을 로컬 컴퓨터에 유지 합니다.For targeting occluded devices attached to your PC, keep the setting to Local Machine. 혼합 현실 포털이 실행 중인지 확인 합니다.Ensure you have the Mixed Reality Portal running.
  3. 디버그 > 디버깅 하지 않고 시작 을 클릭 합니다.Click Debug > Start without debugging.

에뮬레이터에 배포Deploy to Emulator

  1. 장치 단추 옆의 화살표를 클릭 하 고 드롭다운에서 HoloLens 에뮬레이터 를 선택 합니다.Click on the arrow next to the Device button, and from drop down select HoloLens Emulator.
  2. 디버그 > 디버깅 하지 않고 시작 을 클릭 합니다.Click Debug > Start without debugging.

앱 사용해 보기Try out your app

이제 앱이 배포 되었으므로 큐브를 모두 이동 하 여 전 세계에 유지 되는지 확인 하세요.Now that your app is deployed, try moving all around the cube and observe that it stays in the world in front of you.

참조See also