Scripting: Geolokalisierung
- Tutorial
Tutorial
Dieses Kapitel beschreibt die von Immersive bereitgestellten Geolokalisierungsmechanismen, um die Position und Bewegung von Objekten dynamisch darzustellen geolokalisiert im 3D-digitalen Zwilling, ohne dass spezifische JavaScript-Entwicklung erforderlich ist.
Im Fall von geolokalisierter Ausrüstung bietet Immersive mehrere native Verhaltensweisen wodurch eine Änderung der Position eines Objekts in seiner Umgebung visuell dargestellt werden kann und erfordern keine spezifische Entwicklung in JS, sondern nur eine Konfiguration auf Geräteebene.
Die 3 verfügbaren Verhaltensweisen im Folgenden:
GeoTracking: Teleportieren eines geolokalisierten ObjektsGeoMove: Echtzeitverfolgung eines geolokalisierten Objekts mit OrientierungNavMeshMove: Verfolgung eines Objekts mit einer Bewegungsbedingung im Navigationsdiagramm.
In allen drei Fällen muss die Karte, auf der die Objekte platziert werden sollen, perfekt geolokalisiert sein,
und die gemeldeten Positionen müssen im Koordinatensystem liegen WGS 84.
GPS-Positionen, die von einer Variablen des Typs gemeldet werden GISVector Muss folgendes Format einhalten:
longitude;latitude
Beispiel für eine gültige GPS-Position:
7.841257629258633;48.552757624772426
GeoTracking aktivieren
Die GeoTracking Ermöglicht es, die Position eines Objekts auf der Karte basierend auf seiner GPS-Position zu ändern.
Jedes Mal, wenn eine GPS-Position empfangen wird, wird das zugehörige Objekt an die entsprechende Position auf der Karte teleportiert.
Diese Art der Verfolgung wird bei GPS-Positionen verwendet, die nicht genau sind oder deren Frequenz niedrig ist.
Echter Anwendungsfall: Überwachung der Position eines Moduls in einem Park, dessen Position alle 5 Minuten hochgeht.
Um eine zu assoziieren GeoTracking Ausrüstung,
Alles, was du tun musst, ist, eine Variable mit dem Namen zu erstellen GeoTracking.
Tatsächlich wurde ein Verhalten standardmäßig von Immersive mit der Importregel gespeichert $(GeoTracking).
Das Verhalten kann die GPS-Position des Objekts auf zwei verschiedene Arten ermitteln:
- Über eine Variable vom Typ
GISVectormit dem NamenGeoPos - Über zwei separate Variablen vom Typ
Singlemit den NamenLongitudeundLatitude
Aktivierung des GeoMove
Die GeoMove ist eine fortgeschrittene Version der GeoTracking.
Er kümmert sich darum, das Objekt im Flugzeug zwischen den verschiedenen GPS-Positionen zu animieren
um eine flüssige Bewegung zu erreichen.
Diese Art der Verfolgung wird im Fall eines sehr genauen GPS-Positionsberichts eingesetzt (einige Zentimeter) und mit hoher Frequenz (< 1 s).
Praktische Anwendungsfälle: Verfolgung der Position eines Springers in einem Hafen oder eines Fenwicks in einem Park.
Um eine zu assoziieren GeoMove Ausrüstung,
Alles, was du tun musst, ist, eine Variable mit dem Namen zu erstellen GeoMove.
Tatsächlich wurde ein Standardverhalten von Immersive mit der Importregel aufgezeichnet $(GeoMove).
Das Verhalten kann die GPS-Position des Objekts auf zwei verschiedene Arten abrufen:
- Über eine Variable vom Typ
GISVectormit dem NamenGeoPos - Über zwei separate Variablen des Typs
Singlemit den NamenLongitudeundLatitude
Falls das Objekt zusätzlich zu seiner Position orientiert werden muss, stehen uns zwei Lösungen zur Verfügung:
- Objektorientierung über einen Orientierungssensor bereitstellen (empfohlene Lösung)
- Füge eine Variable hinzu
Orientationauf das Objekt, das den Orientierungswert enthält
- Füge eine Variable hinzu
- Geben Sie Informationen darüber, ob sich das Objekt im Vorwärts- oder Rückwärtsgang befindet,
sowie die letzte bekannte GPS-Position zusätzlich zur vorherigen.
- Füge eine Variable hinzu
ReversingTypBoolean, was zutrifft, wenn der Rückwärtsgang aktiviert ist - Füge eine Variable hinzu
PreviousCoordinatesentsprechend der zuvor gemessenen GPS-Position
Warnung: Standardmäßig holt Immersive jede Sekunde Werte vom Hub ab. Im Fall des GeoMove ist eine höhere Rückholfrequenz erforderlich.
"Supervision.UpdatesPeriod" : 0.5
Aktivierung des NavMeshMove
Diese Art der Verfolgung wird im Fall eines mehr oder weniger genauen GPS-Positionsberichts verwendet, und deren Frequenz nicht groß genug ist, um vom GeoMove animiert zu werden. Um sie nutzen zu können, ist ein Navigationsdiagramm auf der Karte notwendig.
Wenn eine GPS-Position gemeldet wird, schaut das verfolgte Objekt auf seine aktuelle Position und die Position, zu der sie gehen soll, sucht sie nach den Punkten des Navigationsgraphen Am nächsten an diesen beiden Positionen und suche nach einem gültigen Weg.
Wenn ein gültiger Pfad gefunden wird, wird das Objekt von Punkt A nach Punkt B animiert indem man dem berechneten Weg folgt.
Reale Anwendungsfälle: Nachverfolgen der Position eines Kommissionierers in einem Lager zwischen zwei Scans oder Animationen von Fahrzeugen, die an einem Flughafen geopositioniert sind.
Um eine zu assoziieren NavMeshMove Ausrüstung,
Alles, was du tun musst, ist, eine Variable mit dem Namen zu erstellen NavMeshMove.
Tatsächlich wurde ein Standardverhalten von Immersive aufgezeichnet
mit der Importregel $( NavMeshMove).