Verwenden des Mixed Reality-Featuretools zum Installieren von World Locking Tools

Das MR-Featuretool

Das Mixed Reality-Featuretool ist eine äußerst praktische Methode, um World Locking Tools sowie andere nützliche Mixed Reality-Pakete für Unity abzurufen.

Weitere Informationen zum MR-Featuretool finden Sie in der zugehörigen Onlinedokumentation, aber seine Handhabung ist denkbar einfach.

Screenshot des Mixed Reality Featuretools

Installieren von WLT über das MR-Featuretool

Um die volle WLT-Funktionalität zu erhalten, wählen Sie einfach die neueste Version von „World Locking Tools“ über das MR-Featuretool aus. Fahren Sie dann mit Hinzufügen von WLT zu einer Szene oder mit dem Schnellstarthandbuch fort.

Wenn Sie die Beispiele abrufen (wofür auch MRTK benötigt wird), ist es nicht notwendig, zuerst die Abhängigkeiten zu installieren. Wählen Sie einfach das Paket „Samples“ aus, und die minimal erforderlichen Abhängigkeiten werden ebenfalls installiert. Weitere Informationen finden Sie nachstehend.

Hinweis

TL;DR-Version: Bei Verwendung des MR-Featuretools muss die Installation in einem Ordner erfolgen, dessen Pfad (einschließlich Laufwerk) maximal 11 Zeichen lang ist. Dies wird am Ende dieses Artikels ausführlicher erläutert. Deshalb funktioniert beispielsweise e:\stuff\T1, aber e:\stuff\T12 nicht.

Beispiele im MR-Featuretool (Pakete mit Schreibzugriff)

Wie bereits erwähnt, werden Pakete über das MR-Featuretool und UPM als schreibgeschützte Ressourcen installiert. Für Beispiele ist dies ungünstig, da der Wert von Beispielen vor allem darin besteht, flüchtige Ressourcen bereitzustellen, die zu Versuchszwecken verändert werden können.

Um dies zu ermöglichen, erfolgt die Installation der Beispiele über das MR-Featuretool (oder UPM) in etwas anderer Weise. Die Installation ist ein zweiteiliger Prozess.

Der erste Teil läuft genauso ab wie die Installation der schreibgeschützten Pakete. Nach der Installation werden die Beispiele jedoch noch nicht in „Assets“ oder „Packages“ angezeigt.

So schließen Sie den Import der Beispiele in Ihr Projekt ab

  1. Öffnen Sie den Unity Package Manager.

  2. Wenn der Paket-Manager auf „Unity Registry“ (Unity-Registrierung) festgelegt ist, ändern Sie die Einstellung in „In Project“ (In Projekt).

    Paket-Manager im Projekt

  3. Suchen Sie nach den Beispielen, deren Installation Sie abschließen möchten. Hier verwenden wir „World Locking Samples v1.2.4“.

    Schaltfläche

  4. Klicken Sie auf die Schaltfläche „Import into project“ (In Projekt importieren).

  5. Die Beispiele werden nun unter einem Ordner namens „Samples“ in „Assets“ angezeigt, wie hier dargestellt. Die Beispiele können zur Anpassung an Ihre Projektstruktur verschoben werden.

    Beispiele im Unity-Projekt

Unterschiede zwischen den Installationsmethoden

Bei der Wahl der Installationsmethode müssen einige Feinheiten beachtet werden.

MR-Featuretool (UPM-Pakete)

Ein wesentlicher Aspekt, der für die Verwendung des MR-Featuretools spricht, sind die Paketabhängigkeiten. Ein Paket im MR-Featuretool kann andere Pakete angeben, die für eine ordnungsgemäße Funktion installiert werden müssen. Das Featuretool kann dann nicht nur das von Ihnen angeforderte Paket, sondern auch alle zugehörigen Abhängigkeiten abrufen und installieren. Nachdem das Featuretool Ihre angeforderte Installation verarbeitet hat, müssen Sie keine weiteren Installationen nachverfolgen.

Der größte Unterschied zwischen Ressourcen, die über das MR-Featuretool (oder UPM) abgerufen wurden, und Ressourcen aus UNITYPACKAGE-Dateien besteht darin, dass erstere schreibgeschützt installiert werden, während letztere genau wie Ihre eigenen Ressourcen eingefügt werden.

Beachten Sie, dass beim Abruf von WLT über das Featuretool die Frozen World Engine-DLL als Abhängigkeit eingeführt wird. Es ist keine manuelle Installation über NuGet erforderlich.

WLT-Releases (UNITYPACKAGE-Dateien)

WLT veröffentlicht regelmäßige Releases, die als sehr stabile Momentaufnahmen eingestuft werden. Diese sind auf der Seite mit den World Locking Tools-Releases verfügbar.

Wie bereits erwähnt, ist das Ergebnis des Imports dieser UNITYPACKAGE-Dateien in Ihr Projekt dasselbe wie beim Kopieren in die Quelle (siehe unten). Die Skripts und Ressourcen sind beschreibbar und können entsprechend Ihrer Struktur neu angeordnet werden.

Die Abhängigkeitskette ist sehr einfach, aber es liegt in der Verantwortung des Kunden, der die Installation durchführt (Sie), die Abhängigkeiten sowie das gewünschte Paket zu installieren.

Der einfache Abhängigkeitsgraph ist linear. In der folgenden Liste hängt jedes Element vom jeweiligen Element darüber ab, aber von keinem Element darunter:

  1. Frozen World Engine-DLL (aus NuGet, siehe Installationsanweisungen)
  2. World Locking Core Engine
  3. World Locking Tools
  4. World Locking Samples (ebenfalls von MRTK abhängig, aber MRTK ist im UNITYPACKAGE-Paket enthalten)

Aus GitHub-Code (in Quelle kopieren)

Eine weitere Option für den Erwerb von WLT besteht darin, den Quellcode direkt aus GitHub abzurufen (entweder über Git oder als ZIP-Datei) und ihn in Ihr Projekt zu kopieren. Dies entspricht der Installation über UNITYPACKAGE-Dateien (siehe oben).

Um den Quellcode für ein bestimmtes Release zu erhalten, suchen Sie nach dem entsprechenden Branch. Die Quelle für Release v1.2.4 befindet sich beispielsweise im Branch release/v1.2.4.

Informationen zum Längenlimit des Installationspfads

Bei Installation über das Mixed Reality-Featuretool

Windows schreibt eine maximale Pfadlänge von 260 Zeichen vor. Das Frozen World Engine-Paket weist einige sehr lange interne Pfade auf. Über das Mixed Reality-Featuretool (oder UPM von Unity, je nachdem, wem man die Schuld geben möchte) werden im Mittelteil einige sehr lange Zeichenfolgen hinzugefügt.

Sie wissen, dass Sie das MAX_PATH-Limit überschritten haben, wenn in der Unity-Konsole Fehler angezeigt werden, nach denen ein Teil eines Pfads nicht gefunden werden kann.

Fehler beim langen Pfad

Auch hier gilt, dass der Installationspfad e:\stuff\T1 funktioniert, aber e:\stuff\T12 zu lang ist.

Ironischerweise wird die erste Datei, die das Limit erreicht, nicht einmal unter Windows verwendet, sondern für den iOS-Build (iOS hat kein MAX_PATH-Limit). WLT wird ohne sie erstellt und problemlos ausgeführt. Das Vorhandensein der Datei beeinträchtigt jedoch die Ausführung einiger wichtiger MRTK-Skripts und kann die Stabilität von Unity auf andere, kaum merkliche Weise herabsetzen.

Bei Installation über UNITYPACKAGE-Dateien oder GitHub

Ohne UPM/MR-Featuretool, das Zeichen in die Installationspfade einfügt, gibt es etwas mehr Spielraum. Die interne Pfadhierarchie innerhalb der Frozen World Engine ist jedoch weiterhin recht tief. Bei einer Installation über UNITYPACKAGE-Dateien oder GitHub darf der Installationsordner maximal 100 Zeichen lang sein.

Weitere Untersuchungen und Diskussionen finden Sie in diesem WLT-Issue.