MR-Grundlagen 100: Erste Schritte mit UnityMR Basics 100: Getting started with Unity

Wichtig

Die Tutorials der Mixed Reality Academy wurden im Hinblick auf HoloLens (1. Gen.) und immersive Mixed Reality-Headsets entworfen.The Mixed Reality Academy tutorials were designed with HoloLens (1st gen) and Mixed Reality Immersive Headsets in mind. Daher halten wir es für wichtig, diese Tutorials für Entwickler verfügbar zu halten, die noch nach Anleitung beim Entwickeln für diese Geräte suchen.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. Diese Tutorials werden nicht mit den neuesten Toolsets oder Interaktionen aktualisiert, die für HoloLens 2 verwendet werden.These tutorials will not be updated with the latest toolsets or interactions being used for HoloLens 2. Sie werden gewartet, um weiterhin auf den unterstützten Geräten zu funktionieren.They will be maintained to continue working on the supported devices. Es wurde eine neue Reihe von Tutorials für HoloLens 2 veröffentlicht.A new series of tutorials has been posted for HoloLens 2.

Dieses Tutorial führt Sie durch die Erstellung einer einfachen Mixed Reality-APP, die mit Unity erstellt wurde.This tutorial will walk you through creating a basic mixed reality app built with Unity.

GeräteunterstützungDevice support

KursCourse HoloLensHoloLens Immersive HeadsetsImmersive headsets
MR-Grundlagen 100: Erste Schritte mit UnityMR Basics 100: Getting started with Unity ✔️✔️ ✔️✔️

VoraussetzungenPrerequisites

Kapitel 1: Erstellen eines neuen ProjektsChapter 1 - Create a New Project

Zum Erstellen einer APP mit Unity müssen Sie zunächst ein Projekt erstellen.To build an app with Unity, you first need to create a project. Dieses Projekt ist in einigen Ordnern organisiert, wobei es sich bei den wichtigsten Elementen um den Ordner "Assets" handelt.This project is organized into a few folders, the most important of which is your Assets folder. Dabei handelt es sich um den Ordner, der alle Ressourcen enthält, die Sie aus Tools für die Erstellung digitaler Inhalte importieren, wie z. b. Maya, max. Kino 4D oder Photoshop, sämtlichen Code, den Sie mit Visual Studio oder Ihrem bevorzugten Code-Editor erstellen, und beliebig viele Inhalts Dateien, die Unity erstellt, wenn Sie Szenen, Animationen und andere Unity-RessourcentypenThis 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.

Um UWP-apps zu erstellen und bereitzustellen, kann Unity das Projekt als Visual Studio-Projekt Mappe exportieren, die alle erforderlichen Medienobjekt-und Code Dateien enthält.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 startenStart Unity
  2. Wählen Sie Neu aus.Select New
  3. Geben Sie einen Projektnamen ein (z. b. "mixedrealityintroduction").Enter a project name (e.g. "MixedRealityIntroduction")
  4. Geben Sie einen Speicherort zum Speichern Ihres Projekts ein.Enter a location to save your project
  5. Stellen Sie sicher, dass der 3D- Schalter ausgewählt istEnsure the 3D toggle is selected
  6. Projekt erstellen auswählenSelect Create project

Herzlichen Glückwunsch, Sie sind alle Setup für die ersten Schritte mit ihren Mixed Reality-Anpassungen.Congrats, you are all setup to get started with your mixed reality customizations now.

Kapitel 2: Einrichten der KameraChapter 2 - Setup the Camera

Die Unity-Hauptkamera behandelt die Kopf-und stereorenderingvorgänge.The Unity Main Camera handles head tracking and stereoscopic rendering. An der Hauptkamera müssen einige Änderungen vorgenommen werden, damit Sie mit gemischter Realität verwendet werden kann.There are a few changes to make to the Main Camera to use it with mixed reality.

  1. Datei > neuen Szene auswählenSelect File > New Scene

Erstens ist es einfacher, Ihre APP zu entwerfen, wenn Sie sich die Anfangsposition des Benutzers als (X: 0, Y: 0, Z: 0) vorstellen.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). Da die Hauptkamera die Bewegung des Benutzers nachverfolgt, kann die Startposition des Benutzers festgelegt werden, indem die Startposition der Hauptkamera festgelegt wird.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. Auswählen der Hauptkamera im Hierarchie PanelSelect Main Camera in the Hierarchy panel
  2. Suchen Sie im Inspektor -Panel die Transformations Komponente, und ändern Sie die Position von (x: 0, y: 1, z:-10) in (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)

Zweitens benötigt der Standard Hintergrund der Kamera einige Gedanken.Second, the default Camera background needs some thought.

Bei hololens-Anwendungen sollte die reale Welt hinter alles stehen, was von der Kamera gerendert wird, und keine Skybox-Textur.For HoloLens applications, the real world should appear behind everything the camera renders, not a Skybox texture.

  1. Wenn im Bereich Hierarchie weiterhin die Hauptkamera ausgewählt ist, suchen Sie im Inspektor -Panel nach der Kamera Komponente, und ändern Sie die Dropdown Liste Flag löschen von Skybox in voll Tonfarbe.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. Wählen Sie die Hintergrund Farbauswahl aus, und ändern Sie die RGBA -Werte in (0,0).Select the Background color picker and change the RGBA values to (0, 0, 0, 0)

Für gemischte Reality-Anwendungen, die auf immersive Headsets ausgerichtet sind, können wir die von Unity bereitgestellte Standard Textur von Skybox verwenden.For mixed reality applications targeted to immersive headsets, we can use the default Skybox texture that Unity provides.

  1. Wenn im Hierarchie Panel noch die Hauptkamera ausgewählt ist, suchen Sie im Inspektor -Panel nach der Kamera Komponente, und lassen Sie die Dropdown Liste Flag löschen auf 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.

Als drittes betrachten wir die Near-Clip-Ebene in Unity und verhindern, dass Objekte zu nah an den Benutzern gerendert werden, wenn ein Benutzer ein Objekt nähert oder ein Objekt einen Benutzer nähert.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.

Bei hololens-Anwendungen kann die Near-Clip-Ebene auf die hololens-empfohlenen 0,85 Meter festgelegt werden.For HoloLens applications, the near clip plane can be set to the HoloLens recommended 0.85 meters.

  1. Wenn im Hierarchie Panel noch die Hauptkamera ausgewählt ist, suchen Sie im Inspektor -Panel nach der Kamera Komponente, und ändern Sie das Feld near-Clip Plane von der Standardeinstellung 0,3 in das Feld hololens Recommended 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.

Für gemischte Reality-Anwendungen, die auf immersive Headsets ausgerichtet sind, können wir die von Unity bereitgestellte Standardeinstellung verwenden.For mixed reality applications targeted to immersive headsets, we can use the default setting that Unity provides.

  1. Wenn im Bereich Hierarchie weiterhin die Hauptkamera ausgewählt ist, suchen Sie im Inspektor -Panel nach der Kamera Komponente, und lassen Sie das Feld near Clip Plane auf den Standardwert 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.

Abschließend können wir unseren Fortschritt speichern.Finally, let us save our progress so far. Um die Szenen Änderungen zu speichern, klicken Sie auf Datei > Szene speichern unter, benennen Sie die Szene, und wählen Sie Speichern aus.To save the scene changes, select File > Save Scene As, name the scene Main, and select Save.

Kapitel 3: Einrichten der ProjekteinstellungenChapter 3 - Setup the Project Settings

In diesem Kapitel werden einige Unity-Projekteinstellungen festgelegt, die uns dabei helfen, das Windows Holographic SDK für die Entwicklung zu entwickeln.In this chapter, we will set some Unity project settings that help us target the Windows Holographic SDK for development. Wir legen auch einige Qualitätseinstellungen für die Anwendung fest.We will also set some quality settings for our application. Abschließend wird sichergestellt, dass unsere Buildziele auf universelle Windows-Plattform festgelegt sind.Finally, we will ensure our build targets are set to Universal Windows Platform.

Unity-Leistungs-und QualitätseinstellungenUnity performance and quality settings

Unity-Qualitätseinstellungen für hololensUnity quality settings for HoloLens

Unity-Qualitätseinstellungen für hololens

Da das Verwalten von hoher Framerate in hololens so wichtig ist, möchten wir, dass die Qualitätseinstellungen für die schnellste Leistung optimiert werden.Since maintaining high framerate on HoloLens is so important, we want the quality settings tuned for fastest performance. Ausführlichere Informationen zur Leistung finden Sie unter Empfehlungen zur Leistung für Unity.For more detailed performance information, Performance recommendations for Unity.

  1. Wählen Sie > Projekteinstellungen bearbeiten > Qualität aus.Select Edit > Project Settings > Quality
  2. Wählen Sie im universelle Windows-Plattform Logo die Dropdown Liste aus, und wählen Sie sehr niedrig aus.Select the dropdown under the Universal Windows Platform logo and select Very Low. Sie werden feststellen, dass die Einstellung ordnungsgemäß angewendet wird, wenn das Feld in der universelle Windows-Plattform-Spalte und die sehr niedrige Zeile grün ist.You'll know the setting is applied correctly when the box in the Universal Windows Platform column and Very Low row is green.

Für gemischte Reality-Anwendungen, die für die Anzeige von Anzeigen vorgesehen sind, können Sie die Qualitätseinstellungen auf die Standardwerte überlassen.For mixed reality applications targeted to occluded displays, you can leave the quality settings to its default values.

Windows 10-Ziel-SDKTarget Windows 10 SDK

Windows Holographic-Ziel SDKTarget Windows Holographic SDK

Windows Holographic-Ziel SDK

Wir müssen Unity mitteilen, dass die zu exportierende App eine immersive Ansicht anstelle einer 2D-Ansicht erstellen sollte.We need to let Unity know that the app we are trying to export should create an immersive view instead of a 2D view. Dies geschieht durch Aktivieren der Virtual Reality-Unterstützung für Unity, die auf das Windows 10 SDK abzielen.We do this by enabling Virtual Reality support on Unity targeting the Windows 10 SDK.

  1. Wechseln Sie zu Edit > Project Settings > Player.Go to Edit > Project Settings > Player.
  2. Wählen Sie im Inspektor-Panel für die Player-Einstellungen das universelle Windows-Plattform Symbol aus.In the Inspector Panel for Player Settings, select the Universal Windows Platform icon.
  3. Erweitern Sie die Gruppe XR-Einstellungen.Expand the XR Settings group.
  4. Aktivieren Sie im Abschnitt Rendering das Kontrollkästchen Virtuelle Realität unterstützt, um eine neue Liste mit Virtual Reality-SDKs hinzuzufügen.In the Rendering section, check the Virtual Reality Supported checkbox to add a new Virtual Reality SDKs list.
  5. Überprüfen Sie, ob in der Liste Windows Mixed Reality angezeigt wird.Verify that Windows Mixed Reality appears in the list. Wenn nicht, wählen Sie die Schaltfläche + am Ende der Liste aus, und wählen Sie Windows Mixed Reality aus.If not, select the + button at the bottom of the list and choose Windows Mixed Reality.

Hinweis

Wenn das universelle Windows-Plattform -Symbol nicht angezeigt wird, vergewissern Sie sich, dass Sie während der Installation universelle Windows-Plattform Buildunterstützung ausgewählt haben.If you do not see the Universal Windows Platform icon, double check to make sure you selected Universal Windows Platform Build Support during installation. Wenn nicht, müssen Sie Unity eventuell mit der richtigen Windows-Installation neu installieren.If not, you may need to reinstall Unity with the correct Windows installation.

Tolle Aufgabe zum Anwenden aller Projekteinstellungen.Awesome job on getting all the project settings applied. Als Nächstes fügen wir ein Hologram hinzu.Next, let us add a hologram!

Kapitel 4: Erstellen eines CubesChapter 4 - Create a cube

Das Erstellen eines Cubes in Ihrem Unity-Projekt erfolgt genauso wie das Erstellen eines beliebigen anderen Objekts in Unity.Creating a cube in your Unity project is just like creating any other object in Unity. Das Platzieren eines Cubes vor dem Benutzer ist einfach, da das Koordinatensystem von Unity der realen Welt zugeordnet ist, wobei eine Einheit in Unity ungefähr eine Meter in der realen Welt ist.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. Wählen Sie in der oberen linken Ecke des Bereichs Hierarchie die Dropdown Liste Erstellen aus, und wählen Sie 3D-Objekt > Cube aus.In the top left corner of the Hierarchy panel, select the Create dropdown and choose 3D Object > Cube.
  2. Wählen Sie im Hierarchie Panel den neu erstellten Cube aus.Select the newly created Cube in the Hierarchy panel
  3. Suchen Sie im Inspektor die Transformations Komponente, und ändern Sie die Position in (X: 0, Y: 0, Z: 2).In the Inspector find the Transform component and change Position to (X: 0, Y: 0, Z: 2). Dadurch wird der Cube 2 Meter vor der Anfangsposition des Benutzers positioniert.This positions the cube 2 meters in front of the user's starting position.
  4. Ändern Sie in der Transformations Komponente die Drehung in (x: 45, y: 45, z: 45), und ändern Sie die Skalierung in (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). Dadurch wird der Cube auf 0,25 Meter skaliert.This scales the cube to 0.25 meters.
  5. Um die Szenen Änderungen zu speichern, wählen Sie Datei > Szene speichern aus.To save the scene changes, select File > Save Scene.

Kapitel 5: Überprüfen des Geräts über den Unity-EditorChapter 5 - Verify on device from Unity editor

Nachdem wir nun den Cube erstellt haben, ist es an der Zeit, eine schnell Überprüfung im Gerät durchzuführen.Now that we have created our cube, it is time to do a quick check in device. Sie können dies direkt im Unity-Editor tun.You can do this directly from within the Unity editor.

ErsteinrichtungInitial setup

  1. Öffnen Sie auf dem Entwicklungs-PC in Unity das Fenster Datei > Fenster Build-Einstellungen .On your development PC, in Unity, open File > Build Settings window.
  2. Ändern Sie Platform in universelle Windows-Plattform und klicken Sie auf Plattform wechseln .Change Platform to Universal Windows Platform and click Switch Platform

Verwenden Sie für hololens Unity-RemotingFor HoloLens use Unity Remoting

  1. Installieren und führen Sie auf Ihren hololens den Holographic Remoting Playeraus, der im Windows Store verfügbar ist.On your HoloLens, install and run the Holographic Remoting Player, available from the Windows Store. Starten Sie die Anwendung auf dem Gerät, und Sie wechselt in den Wartezustand und zeigt die IP-Adresse des Geräts an.Launch the application on the device, and it will enter a waiting state and show the IP address of the device. Notieren Sie sich die IP-Adresse.Note down the IP.
  2. Öffnen Sie Fenster > XR > Holographic Emulation.Open Window > XR > Holographic Emulation.
  3. Ändern Sie den Emulations Modus von None in Remote zu Gerät.Change Emulation Mode from None to Remote to Device.
  4. Geben Sie auf dem Remote Computer die IP-Adresse der zuvor notierten hololens ein.In Remote Machine, enter the IP address of your HoloLens noted earlier.
  5. Klicken Sie auf Verbinden.Click Connect.
  6. Stellen Sie sicher, dass der Verbindungs Status in grünes verbunden wechselt.Ensure the Connection Status changes to green Connected.
  7. Jetzt können Sie im Unity-Editor auf " wiedergeben" klicken.Now you can now click Play in the Unity editor.

Nun können Sie den Cube im Gerät und im Editor sehen.You will now be able to see the cube in device and in the editor. Sie können Objekte anhalten, überprüfen und Debuggen, wie Sie eine APP im Editor ausführen, da dies im Wesentlichen geschieht, aber mit Video-, Audio-und Geräte Eingaben, die zwischen dem Host Computer und dem Gerät über das Netzwerk übertragen werden.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.

Für andere von Mixed Reality unterstützte HeadsetsFor other mixed reality supported headsets

  1. Verbinden Sie das Headset mit dem Entwicklungs-PC, indem Sie das USB-Kabel und das HDMI-oder Anzeige Anschlusskabel verwenden.Connect the headset to your development PC using the USB cable and the HDMI or display port cable.
  2. Starten Sie das Mixed Reality-Portal , und stellen Sie sicher, dass Sie die erste Ausführung abgeschlossen haben.Launch the Mixed Reality Portal and ensure you have completed the first run experience.
  3. Aus Unity können Sie nun auf die Wiedergabe Schaltfläche klicken.From Unity, you can now press the Play button.

Nun können Sie das Cube-Rendering in Ihrem Mixed Reality-Headset und im Editor sehen.You will now be able to see the cube rendering in your mixed reality headset and in the editor.

Kapitel 6: Erstellen und Bereitstellen für ein Gerät aus Visual StudioChapter 6 - Build and deploy to device from Visual Studio

Nun können wir das Projekt in Visual Studio kompilieren und auf dem Zielgerät bereitstellen.We are now ready to compile our project to Visual Studio and deploy to our target device.

Exportieren in die Visual Studio-Projekt MappeExport to the Visual Studio solution

  1. Öffnen Sie die Datei > Fenster mit den Buildeinstellungen.Open File > Build Settings window.
  2. Klicken Sie auf offene Szenen hinzufügen , um die Szene hinzuzufügen.Click Add Open Scenes to add the scene.
  3. Wechseln Sie zu universelle Windows-Plattform Plattform , und klicken Sie auf Plattform wechseln.Change Platform to Universal Windows Platform and click Switch Platform.
  4. Stellen Sie sicher, dass in universelle Windows-Plattform Einstellungen das SDK Universal 10 ist.In Universal Windows Platform settings, ensure SDK is Universal 10.
  5. Überlassen Sie für Zielgerät ein beliebiges Gerät für okkludierte anzeigen, oder wechseln Sie zu hololens.For Target device, leave to Any Device for occluded displays or switch to HoloLens.
  6. Der UWP-Buildtyp muss D3D lauten.UWP Build Type should be D3D.
  7. Das UWP SDK ist möglicherweise auf dem neuesten installiert.UWP SDK could be left at Latest installed.
  8. Klicken Sie auf Erstellen.Click Build.
  9. Klicken Sie im Datei-Explorer auf neuer Ordner , und benennen Sie den Ordner "App".In the file explorer, click New Folder and name the folder "App".
  10. Wenn der App -Ordner ausgewählt ist, klicken Sie auf die Schaltfläche Ordner auswählen .With the App folder selected, click the Select Folder button.
  11. Wenn Unity erstellt wurde, wird ein Fenster des Windows-Datei-Explorers angezeigt.When Unity is done building, a Windows File Explorer window will appear.
  12. Öffnen Sie den App -Ordner im Datei-Explorer.Open the App folder in file explorer.
  13. Öffnen Sie die generierte Visual Studio-Projekt Mappe (in diesem Beispiel mixedrealityintroduction. sln).Open the generated Visual Studio solution (MixedRealityIntroduction.sln in this example)

Kompilieren der Visual Studio-Projekt MappeCompile the Visual Studio solution

Schließlich kompilieren wir die exportierte Visual Studio-Projekt Mappe, stellen Sie bereit und testen Sie auf dem Gerät.Finally, we will compile the exported Visual Studio solution, deploy it, and try it out on the device.

  1. Ändern Sie das Ziel mithilfe der oberen Symbolleiste in Visual Studio von Debug in Release und von Arm in x86.Using the top toolbar in Visual Studio, change the target from Debug to Release and from ARM to X86.

Die Anweisungen unterscheiden sich für die Bereitstellung auf einem Gerät im Vergleich zum Emulator.The instructions differ for deploying to a device versus the emulator. Befolgen Sie die Anweisungen, die dem Setup entsprechen.Follow the instructions that match your setup.

Bereitstellung für Mixed Reality-Gerät über Wi-FiDeploy to mixed reality device over Wi-Fi

  1. Klicken Sie auf den Pfeil neben der Schaltfläche lokaler Computer , und ändern Sie das Bereitstellungs Ziel in Remote Computer.Click on the arrow next to the Local Machine button, and change the deployment target to Remote Machine.
  2. Geben Sie die IP-Adresse Ihres gemischten Reality-Geräts ein, und ändern Sie den Authentifizierungsmodus für hololens und Windows für andere Geräte in Universal (unverschlüsseltes Protokoll).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. Klicken Sie auf Debuggen > ohne Debugging starten.Click Debug > Start without debugging.

Bei hololens müssen Sie, wenn dies die erste Bereitstellung auf Ihrem Gerät ist, mit Visual Studiokoppeln.For HoloLens, If this is the first time deploying to your device, you will need to pair using Visual Studio.

Auf gemischtes Reality-Gerät über USB bereitstellenDeploy to mixed reality device over USB

Stellen Sie sicher, dass das Gerät über das USB-Kabel angeschlossen ist.Ensure you device is plugged in via the USB cable.

  1. Klicken Sie für hololens auf den Pfeil neben der Schaltfläche lokaler Computer , und ändern Sie das Bereitstellungs Ziel auf Gerät.For HoloLens, click on the arrow next to the Local Machine button, and change the deployment target to Device.
  2. Behalten Sie für die Zielgeräte, die an Ihren PC angeschlossen sind, die Einstellung lokaler Computer bei.For targeting occluded devices attached to your PC, keep the setting to Local Machine. Stellen Sie sicher, dass das gemischte Reality-Portal ausgeführt wird.Ensure you have the Mixed Reality Portal running.
  3. Klicken Sie auf Debuggen > ohne Debugging starten.Click Debug > Start without debugging.

In Emulator bereitstellenDeploy to Emulator

  1. Klicken Sie auf den Pfeil neben der Schaltfläche Gerät , und wählen Sie in der Dropdown-Taste hololens Emulator aus.Click on the arrow next to the Device button, and from drop down select HoloLens Emulator.
  2. Klicken Sie auf Debuggen > ohne Debugging starten.Click Debug > Start without debugging.

Testen Sie Ihre APPTry out your app

Nachdem Sie Ihre APP bereitgestellt haben, versuchen Sie, alle den Cube zu verschieben, und beobachten Sie, dass Sie in der Welt vor Ihnen bleibt.Now that your app is deployed, try moving all around the cube and observe that it stays in the world in front of you.

Weitere InformationenSee also