2017-10-26 2 views
1

Ziel: Ich habe eine vor gescannte räumliche Karte eines Raumes. (Durchgeführt durch einen Onboarding-Prozess.)Platzieren von Objekten an festgelegten Orten in einem zuvor gescannten Raum

Wir nehmen diese Karte und fügen holografische Orte/Marker/digitale Zwillinge dazu in Unity an vordefinierten statischen Orten hinzu. ZB Wandbereich, Armaturen usw.

Die App wird dann gestartet und enthält alle holographischen Daten an der richtigen Stelle, unabhängig vom physischen Startort des Benutzers.

Kurz gesagt, ich möchte eine App mit vordefinierten Hologrammen an festgelegten Orten in der realen Welt starten, unabhängig davon, wo die App in diesem Raum gestartet wird.

Ich habe viele Tutorials und Walkthroughs usw. auf Räumliches Mapping, Räumliches Verständnis usw. gelesen, aber sie scheinen mein Problem nicht zu lösen.

ich habe bereits die räumliche 3D-Karte des Raumes die hololens Web-Browser-Schnittstelle und platziert Hologramme Unity verwenden, mit ihren jeweiligen Skripten usw.

Nun, wenn ich starten Sie die App, die alle den Hologrammen sind zwar relativ zueinander erstellt, aber sie sind nur an der richtigen Stelle, wenn ich die App starte, stand an einem Sollwert, schau in eine bestimmte Richtung.

Die Hauptidee war, die räumlichen Anker für den Raum zu finden (ich weiß nicht, woher ich diese in der erstellten räumlichen Karte bekomme!) Und dann, sobald sie gefunden werden, rotieren/übersetzen die holographische Welt zu Passen Sie die live gescannten räumlichen Anker an.

Andere Verfahren umfassen: - alle Objekte platziert manuell in irgendeiner Config ersten Lauf von der app - Erstellen QR-Codes und sie in Sollstellen in der gleichen Weise wie die räumliche Anker in der Hauptidee zu handeln oberhalb .

Hat jemand dies getan, und gibt es eine bessere Möglichkeit, vordefinierte Hologramme an realen Orten zu erzeugen, die jede App ausführt?

Andere Fragen nach ähnlichen Antworten zu suchen, aber nicht meinen Use-Case-Lösung: https://forums.hololens.com/discussion/2938/position-independent-object-placement https://forum.unity.com/threads/how-do-i-refer-to-a-specific-space-in-a-spatial-mapped-room.425525/

+0

Oh, und der Vollständigkeit halber ist Räumliche Zuordnung der Name, den der HoloLens verwendet, um einen Raum zu scannen. Es erstellt eine Netz/digitale Darstellung des Raumes. Dies kann in Echtzeit ausgeführt werden, oder Sie können eine räumliche Karte (Gitter) eines Raums speichern. SpatialUnderstanding interpretiert die räumliche Karte (Mesh), um nach ebenen Flächen, Flächen usw. zu suchen, und führt dann Aktionen basierend auf Ihrer Spezifikation aus. https://developer.microsoft.com/en-us/windows/mixed-reality/spatial_mapping_in_unity. Ich suche nach einer Zusammenführung, bei der eine vorher aufgezeichnete räumliche Karte mit einer Live-Raumkarte verglichen wird. Ich denke ... – Del

Antwort

2

Sie Setup Welt braucht Anker zu lassen Hololens die Position von Hologrammen im gescannten Raum erinnern. (More info)

Ich habe es versucht und das funktioniert ziemlich gut.

+0

Das ist richtig, wonach Sie suchen, ist ein Weltanker –

1
  • Platzierung alle Objekte manuell in einigen config-First-Run der App

Dies ist die einfachste Vorgehensweise Sie nehmen könnte. Im Grunde würde ich ein TapToPlace Skript zu allen Ihren Hologrammen hinzufügen, die Sie verankern möchten. Wenn du die App zum ersten Mal startest, sind sie an jedem Ort, an dem du sie hast, in Unity. Sobald Sie jedoch die Anwendung schließen und sie wieder öffnen, befindet sie sich an derselben Stelle, an der Sie sie abgelegt haben. Wenn Sie nicht möchten, dass der Benutzer sie so einfach verschieben kann, würde ich eine Art von Methode hinzufügen, die TapToPlace mit einem Knopfklick oder Sprachbefehl deaktiviert.

Sie können das TapToPlace Skript in der MRTK finden.Dies ist ein sehr einfacher Weg, da Sie nicht erst das Anbringen und Entfernen von World Anchors erlernen müssen, da dies bereits für Sie erledigt ist.

Verwandte Themen