Class ExternalDeviceRotationFrameSource
- 命名空间
- easyar
- 程序集
- EasyAR.Sense.dll
表示具有3DOF旋转跟踪能力的外部设备的frame source。通常表示头戴设备,其中相机渲染和设备跟踪都由设备SDK完成。
这个frame source是一种3DOF旋转跟踪设备,在ARSession中会输出旋转数据。
你可以通过继承它来实现头显等设备输入,但你必须自己完成跟踪功能,EasyAR的3DOF旋转跟踪并不能直接在外部设备上使用。你需要自己从硬件或其它地方获取图像和旋转数据并输入到EasyAR,EasyAR不提供这些数据的获取能力,但提供将这些数据输入EasyAR之后运行EasyAR功能的能力。
在自定义相机或头显上使用试用产品(个人版license、试用版XR license或试用版Mega服务等)时,EasyAR Sense每次启动后会在固定的有限时间内停止响应。
public abstract class ExternalDeviceRotationFrameSource : ExternalDeviceFrameSource
- 继承
-
ExternalDeviceRotationFrameSource
- 继承成员
方法
HandleCameraFrameData(DeviceFrameSourceCamera, double, Image, CameraParameters, Quaternion)
输入相机帧数据。
建议输入30或60fps的数据。最小可接受帧率 = 2,但部分算法响应时间会受影响。它可以在任何线程调用,只要你的API都是线程安全的即可。这些数据需要与相机传感器曝光时的数据一致。只要可以获取,建议输入彩色数据到EasyAR Sense,这对EasyAR Mega的效果是有帮助的。为实现最佳效率,你可以设计整个数据链条让原始YUV数据直接通过共享内存透传,并直接使用数据指针传入EasyAR Sense。请注意数据所有权。
protected bool HandleCameraFrameData(DeviceFrameSourceCamera deviceCamera, double timestamp, Image image, CameraParameters cameraParameters, Quaternion deviceRotation)
参数
deviceCameratimestampimagecameraParametersdeviceRotation
HandleRenderFrameData(double, Quaternion)
输入渲染帧数据。
请确保在设备数据准备好之后每帧调用,不能跳帧。这些数据需要与驱动同一帧内当前Unity渲染相机的数据一致。
protected bool HandleRenderFrameData(double timestamp, Quaternion rotation)
参数
timestamprotation