Table of Contents

Class ExternalDeviceRotationFrameSource

Namespace
easyar
Assembly
EasyAR.Sense.dll

Stellt eine Rahmenquelle für externe Geräte mit 3DOF-Rotationsverfolgungsfähigkeiten dar. Bezieht sich typischerweise auf kopfmontierte Geräte, bei denen Kamerawiedergabe und Geräteverfolgung vom Geräte-SDK durchgeführt werden.

Diese Rahmenquelle ist ein 3DOF-Rotationsverfolgungsgerät, das in ARSession Rotationsdaten ausgibt.

Du kannst es durch Vererbung implementieren, um Eingaben für Geräte wie Head-Mounted-Displays zu realisieren, aber du musst die Tracking-Funktionalität selbst implementieren. Die 3DOF-Rotationsverfolgung von EasyAR kann nicht direkt auf externen Geräten verwendet werden. Du musst Bild- und Rotationsdaten selbst von der Hardware oder anderen Stellen abrufen und in EasyAR eingeben. EasyAR bietet nicht die Fähigkeit, diese Daten abzurufen, sondern bietet die Fähigkeit, nachdem diese Daten in EasyAR eingegeben wurden, EasyAR-Funktionen auszuführen.

Beim Verwenden von Testprodukten (wie Personal-Lizenz, Testversion der XR-Lizenz oder Testversion des Mega-Dienstes usw.) auf benutzerdefinierten Kameras oder Head-Mounted-Displays stoppt EasyAR-Sense nach jedem Start für eine festgelegte begrenzte Zeit die Reaktion.

public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
Vererbung
ExternalDeviceRotationFrameSource
Geerbte Mitglieder

Methoden

HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)

Eingabe von Kameraframedaten.

Es wird empfohlen, Daten mit 30 oder 60 fps einzugeben. Die minimal akzeptable Bildrate = 2, aber die Antwortzeit einiger Algorithmen kann beeinträchtigt werden. Es kann in jedem Thread aufgerufen werden, solange deine APIs threadsicher sind. Diese Daten müssen mit den Daten übereinstimmen, wenn der Kamerasensor belichtet wird. Wenn möglich, wird empfohlen, Farbdaten in EasyAR-Sense einzugeben, was für den Effekt von EasyAR-Mega hilfreich ist. Für optimale Effizienz kannst du die gesamte Datenkette so gestalten, dass Roh-YUV-Daten direkt über Shared-Memory durchgereicht und mit Datenzeigern direkt an EasyAR-Sense übergeben werden. Bitte beachte die Datenverantwortung.

protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)

Parameter

deviceCamera
timestamp
image
cameraParameters
deviceRotation

HandleRenderFrameData(double, Quaternion)

Eingabe von Rendering-Framedaten.

Stelle sicher, dass du nach dem Bereitstellen der Gerätedaten für jeden Frame aufrufst und keine Frames überspringst. Diese Daten müssen mit den Daten übereinstimmen, die die aktuelle Unity-Rendering-Kamera im selben Frame antreiben.

protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)

Parameter

timestamp
rotation