Wir setzen die Artikelserie zu Windows Mixed Reality fort und entwickeln von Grund auf eine Unity Mixed Reality-Anwendung im Laborarbeitsformat. Sie können selbst parallel zur Veröffentlichung von Artikeln eine solche Anwendung erstellen. In diesem Teil betrachten wir die Unterstützung des Motion Controllers und fügen das Lautsprecher-Fertighaus zum virtuellen Wohnzimmer hinzu.

Die gesamte Anleitung besteht aus 5 Teilen. Es wird jede Woche aufgefüllt. Unten können Sie zu dem Teil gehen, den Sie benötigen.
Teil 1: Exportieren der UWP-Anwendung für Windows Mixed Reality aus Unity ;
Teil 2: Einrichten der Umgebung (VR) ;
Teil 3: Controller ;
Teil 4: Raumklang ;
Teil 5: HoloLens und Grafik .
Controller
In dieser Phase der praktischen Lektion erstellen wir ein vorgefertigtes Lautsprechergerät und fügen es dem virtuellen Wohnzimmer hinzu. Dann fügen wir unserer Szene Motion Controller-Unterstützung hinzu, damit der Benutzer den Lautsprecher bewegen und drehen kann.
Hinzufügen eines Lautsprechers zu einem Raum
- Wechseln Sie im Projektbedienfeld zum Ordner „Modelle“ und ziehen Sie das Speaker3-Modell in das Hierarchiebedienfeld, sodass dieses Modell zum Stammobjekt und nicht zu einem untergeordneten Objekt eines der Szenenobjekte wird.
- Benennen Sie den Lautsprecher um, indem Sie mit der rechten Maustaste darauf klicken und Umbenennen auswählen. Nennen Sie ihn Sprecher.
- Wählen Sie das Speaker-Objekt in der Szene aus und ändern Sie im Inspektorfenster die folgenden Transformationseigenschaften:
- Setzen Sie den Scale-Parameter auf (0,02; 0,02; 0,02).
- Stellen Sie den Parameter Position auf (2,68; 0,14; 2).

Controller-Unterstützung hinzufügen
Als wir zuvor Mixed Reality-Parameter auf unsere Szene angewendet haben, haben wir die Unterstützung für den Motion Controller hinzugefügt.
Erinnern wir uns, wie sich diese Parameter auf den Betrieb von Motion Controllern in unserer Szene auswirken.
- Das von uns hinzugefügte MixedRealityCameraParent-Element enthält ein untergeordnetes Objekt namens MotionControllers und ein MotionControllerVisualizer-Skript. Dieses Skript überwacht und visualisiert das Controller-Modell (ändert seine Position, dreht es und verarbeitet auch Eingabeereignisse).
- Das von uns hinzugefügte InputManager-Objekt erwartet Eingabeereignisse aus verschiedenen Quellen. Zu den untergeordneten Objekten gehören Objekte für Maus (Maus), Berührungseingabe (Berührung), Gesten (GesturesInput) und Xbox. Das GestureInput-Objekt verfügt über ein InteractionInputSource-Element, das auf Motion Controller-Ereignisse vom InteractionManager wartet. Dies sind Motion Controller-Ereignisse, die zur Steuerung unseres Lautsprechers verwendet werden.

Lautsprechersteuerung
Damit der Benutzer den Lautsprecher bewegen und drehen kann, sollten ihm physikalische Eigenschaften hinzugefügt werden. Dann können wir bestimmen, dass die Ansicht auf den Lautsprecher gerichtet ist.
- Wählen Sie das Lautsprecherobjekt im Hierarchiefenster aus, um seine Eigenschaften und sein Verhalten im Inspektorfenster zu ändern.
- Klicken Sie im Inspektorfenster auf Komponente hinzufügen, suchen Sie die Box Collider-Komponente und wählen Sie sie aus.
- Setzen Sie in der hinzugefügten Box Collider-Komponente die Size-Eigenschaft auf (21, 20, 53), damit sie den Lautsprecher vollständig umgibt.
Fügen Sie als Nächstes das Bounding Box-Verhalten aus dem Mixed Reality-Toolkit hinzu:
1. Navigieren Sie im Projektfenster zum Ordner Holotoolkit → UX → Skripte → BoundingBoxes (Holotoolkit → UX → Skripte → Begrenzungsrahmen), wählen Sie das Skript BoundingBoxRig.cs aus und ziehen Sie dieses Skript in das Inspektorfenster, um es den Komponenten hinzuzufügen Sprecher
2. Da wir die Lautsprecherskala nicht ändern müssen, kann der Parameter Scale Rate auf 0 gesetzt werden.
Die BoundingBoxRig-Komponente fügt dem Spielobjekt (in diesem Fall dem Sprecher) ein Gizmo-Element hinzu. Mit Gizmo kann der Benutzer das Objekt mithilfe von Motion Controllern oder HoloLens-Gesten (Berührungen und Manipulationen) drehen, bewegen und skalieren.
3. Klicken Sie bei ausgewähltem Lautsprecherobjekt auf Komponente hinzufügen und geben Sie im Suchfeld Two Hand Manipulatable ein. Klicken Sie dann auf das in den Suchergebnissen hervorgehobene Skript.
4. Stellen Sie den Manipulationsmodus dieser Komponente auf Drehen, um zu verhindern, dass die Lautsprecher zoomen.
In diesem Szenario können Sie Objekte mit zwei Händen steuern - mithilfe der Bewegungssteuerung oder mithilfe von Gesten zum Drücken und Halten in HoloLens.
5. Suchen Sie im Projektfenster das Prefab BoundingBoxBasic im Ordner Assets → HoloToolkit → UX → Prefabs → BoundingBoxes (Ressourcen → HoloToolkit → UX → Prefabs → Bounding Boxes) und ziehen Sie es auf die Eigenschaft Bounding Box Prefab des Skripts B. Rig im Speaker-Objekt.
6. Ziehen Sie auch das Fertighaus BoundingBoxBasic auf die Eigenschaft Bounding Box Prefab der manipulierbaren Zweihandkomponente.
Die vorgefertigte BoundingBoxBasic enthält visuelle Elemente, die während der Manipulationen gerendert werden. Daher fügen wir sie jeder Komponente hinzu.

7. Suchen Sie im Projektfenster das AppBarCustom-Prefab im Ordner Assets -> Prefabs und ziehen Sie es auf die App Bar Prefab-Eigenschaft der Bounding Box Rig-Komponente im Lautsprecher.
Wir haben viele Änderungen vorgenommen. Stellen Sie sicher, dass das Inspektorfenster des Speaker-Spielobjekts folgendermaßen aussieht:

Starten der Anwendung und Bewegen des Lautsprechers
Speichern Sie die Szene und führen Sie sie aus, um Ihre Änderungen zu überprüfen.
Versuchen Sie Folgendes:
- Wählen Sie einen Lautsprecher aus und bewegen Sie ihn (die Signale Ihres Controllers sollten überwacht werden).
- Klicken Sie auf das Lautsprecheranwendungsfeld, um auf die Schnappschüsse zuzugreifen, mit denen Sie den Lautsprecher drehen können.
- Ändern Sie die Größe / Skalierung des Lautsprechers (falls Sie diese Funktion zuvor nicht deaktiviert haben).
→
OriginalAutoren: Eric Ahlstrom, cbarkerms, Madison Hight