MRTK-Komponenten und skriptfähige Unity-Objekte
MRTK-Unity ist ein von Microsoft vorangetriebenes Projekt, das einen Satz von Komponenten und Funktionen bereitstellt, die zum Beschleunigen der Entwicklung von plattformübergreifenden MR-Apps in Unity dienen. Sie verwenden das MRTK, um schnell immersive Interaktionen mit dem 3D-Modell der Windkraftanlage in Ihrer Szene zu erstellen. In diesem Projekt verwenden wir insbesondere die folgenden MRTK-Objektklassen im Namespace Microsoft.MixedReality.Toolkit.UI:
ObjectManipulator: Das
ObjectManipulator
Skript wird ein Objekt mit einer oder beiden Händen beweglich, skalierbar und drehbar. Das Skript funktioniert sowohl mit der HoloLens-Gesteneingabe als auch mit der Eingabe über den Motion-Controller des immersiven Headsets.BoundsControl: Mit BoundsControl können Sie Objekte transformieren (Rotieren und Skalieren). Außerdem wird ein Würfel um das Objekt gezeichnet, um die mögliche vom Benutzer verursachte Transformation zu visualisieren. BoundsControl bietet Ziehpunkte zum Skalieren und Rotieren, die Sie für die Nah- und Fernbearbeitung des Objekts verwenden können. Darüber hinaus wird ein Näherungseffekt für die Skalierungs- und Rotationsziehpunkte bereitgestellt, der die Skalierung und das Material ändert.
NearInteractionGrabbable: Sie können die Komponenten „NearInteractionGrabbable“ zu jedem GameObject hinzufügen, das über ein Collidable-Attribut verfügt, wodurch das kollisionsfähige Objekt in der Nähe greifbar wird. Alle
IMixedRealityNearPointer
geben dann Zeigerereignisse an die nächstgelegenen Objekte aus, die in der Nähe greifbar sind. Außerdem sendet der Zeiger Ereignisse zum Starten und Beenden des Fokus, wenn das dekorierte Objekt das dem Zeiger nächstgelegene Objekt ist.RotationAxisConstraint: Mit dieser Objektklasse kann die Windkraftanlage so eingeschränkt werden, dass sie nur nach der Y-Achse (nach oben) rotiert.
Windkraftanlagen-Prefabs
Jedes Windkraftanlagen-Prefab für den digitalen Zwilling verfügt über ein entsprechendes ScriptableObject
-Objekt im Unity-Projekt, das von Microsoft Azure empfangene Daten speichert. ScriptableObjects
sind im Grunde einfache Objekte, die Daten global in Szenen und Anwendungsausführungen speichern können. Das Windkraftanlagen-Prefab umfasst einen Verweis auf dieses ScriptableObject
, und ein Ereignis wird ausgelöst, um das Objekt zu benachrichtigen, wenn die Daten geändert wurden. Sehen Sie sich die folgenden Prefabs an, um zu sehen, welche MRTK-Komponenten enthalten sind und wo die Azure-Daten empfangen werden:
Navigieren Sie zu Assets > Art > Prefabs (Objekte > Grafik > Prefabs), um den digitalen Zwilling für die Windkraftanlage anzuzeigen. Im Inspektor für die Windkraftanlage können Sie sehen, dass eine LOD-Gruppe, die zuvor beschriebenen MRTK-Komponenten und andere Skripts an dieses Prefab-Objekt angefügt sind.
Sie finden entsprechende skriptfähige Objekte für die Windkraftanlagen unter Objekte > Scriptable Objects (Skriptfähige Objekte)> Turbine Site Data (Windkraftanlagen-Daten).