Scripting: Geolokalisierung

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 Objekts
  • GeoMove : Echtzeitverfolgung eines geolokalisierten Objekts mit Orientierung
  • NavMeshMove : Verfolgung eines Objekts mit einer Bewegungsbedingung im Navigationsdiagramm.

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.

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 GISVector mit dem Namen GeoPos
  • Über zwei separate Variablen vom Typ Single mit den Namen Longitude und Latitude

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).

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 GISVector mit dem Namen GeoPos
  • Über zwei separate Variablen des Typs Single mit den Namen Longitude und Latitude

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 Orientation auf das Objekt, das den Orientierungswert enthält
  • 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 Reversing Typ Boolean, was zutrifft, wenn der Rückwärtsgang aktiviert ist
  • Füge eine Variable hinzu PreviousCoordinates entsprechend der zuvor gemessenen GPS-Position
"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.

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).