Xvisio XR Foundation Uniy SDK 文档

版本:v1.0.10

1、概述

Xvisio XR Foundation Uniy SDK是诠视科技为国产化MR眼镜在Unity引擎中的开发工具包。这一工具包不仅充分利用了Unity引擎的强大功能,还结合了诠视科技在AR领域的深厚技术积累,为开发者带来了前所未有的开发体验和无限可能。

2、开发入门

2.1、Unity开发环境配置

(1)SDK获取

SDK工具包通过两种方式提供,分别是Unity工程和Unity Package包的形式。 Unity Package更适用于SDK升级更新,首次使用建议选择在SDK工程基础上开发。

SDK工程链接: https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/xvxr-plugin-unity-main_20260525.1.rar

SDK Unity Package链接:https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/xvxr-plugin-unity-main_20260525.1.unitypackage

(2)Unity下载地址

请前往Unity官网下载对应的开发版(Unity2022.3.62)。下载地址: https://unity.cn/releases

(3)下载UnityHub

在安装Unity之前,需要先安装UnityHub。点击 https://unity.cn/releases进入Unity官网,点击“下载Unity”按钮,进入Unity下载页面以后点击” 下载UnityHub”按钮进行下载, 下载结束后安装UnityHub。

(4)下载Unity

Unity Hub安装完成以后可以选择对应的Unity版本进行安装,推荐使用Unity2022.3.62版本进行开发。 下载的时候点击“从Unity Hub下载”。

(5)选择Android模块安装

在UnityHub中进行Unity安装的时候,需要勾选对应的Android支持模块。

(6)配置Android SDK

a)下载链接: https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/Unity2022_AndroidSDK.rar

b)解压Unity2022_AndroidSDK文件,找到Unity2022.3.62版本对应SDK目录,将解压的SDK文件覆盖Unity Android SDK文件,如下图所示。

2.2、打开现有项目

如果你使用SDK项目工程进行开发,则不需要导入相关MRTK设置,直接使用Unity2022.3.62版本运行工程即可。

(1)打开UnityHub

(2)从磁盘加载项目

(3)选择当前SDK工程

(4)打开项目

选择Unity2022.3.62版本,切换到Android平台。

(5)Android工具设置

打开Editor/Preferences/External Tools。如下图所示,需要全部勾选使用默认配置。

(6)Publishing Setting设置

打开File/BuildSettings/PlayerSettings/Player/Publishing Setting。确保Build设置如下图所示。

(7)打包测试

示例场景提供快捷打包的方法。通过菜单XvXR/Toolkit/Build Scenes选择对应示例场景进行打包,打包成功以后apk保存到工程下面的apk文件夹里面。

2.3、从新建项目开始

如果你选择Unity Package从头开始构建新项目,你需要按照下面的步骤进行相关配置。

(1)新建项目

a) 创建新项目

打开Unity Hub,点击“新项目”创建项目

b) 项目设置

选择Unity2022.3.62版本,设置项目名称、项目保存位置。点击“创建项目”开始构建新项目。

(2) 平台切换

新项目创建打开以后,需要将项目切换到Android平台。

(3) 导入MRTK

a) 双击打开"MixedRealityFeatureTool"工具

下载链接: https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/MixedRealityFeatureTool.rar

b) 选择Unity项目

选择前面新建的项目导入MRTK配置。

c) 导入MRTK

完成上述操作以后回到Unity工程,开始自动导入MRTK相关依赖。

(4) 导入Xvisio XR Foundation Uniy SDK

将Xvisio XR Foundation Uniy SDK导入Unity。

a) 打开文件夹

右键单击Assets,选择Custom Package打开SDK工具包所在文件夹。

b) 选择SDK开发工具包

c) 选择“Import”

(5) 环境设置

SDK导入完成以后我们需要设置对应的开发环境。

a) 打开设置窗口

点击XvXR/Toolkit/Project Settings打开快捷设置窗口。

b) Publishing Setting设置

打开File/BuildSettings/PlayerSettings/Player/Publishing Setting。确保Build设置如下图所示。

c) Android工具设置

打开Editor/Preferences/External Tools。如下图所示,需要全部勾选使用默认配置。

2.4 打包示例场景

通过快捷打包方式,可以快速打包示例场景,打包好的apk存储目录和工程Asset文件夹同级目录下的APK文件夹内。

(1) 选择场景

选择XVXR/Toolkit/Build Scenes/MRTK2开始打包, 也可以选择其他场景进行打包测试。打包出来的APK在当前工程目录下:

2.5 安装APK

安装apk有两种方式,通过ADB工具安装和直接拷贝到“计算单元”安装。

(1) ADB安装

a) 下载ADB工具

下载链接: https://download.xvisiotech.com/unitydevtool/ADB.rar

b) ADB常用命令

查看设备IP adb shell ifconfig

获取当前连接设备列表 adb devices

通过IP地址连接设备 adb connect 192.168.xx.xx

通过IP地址断开设备 adb disconnect 192.168.xx.xx

安装apk adb install xxxx.apk

清空log adb logcat -c

保存log到指定目录 adb logcat > D:\log.log

停止抓log 按下Ctrl + C

Logcat过滤关键词 adb logcat | find "关键词"

(2) 拷贝安装

将SeerPad计算单元通过TypeC线连接到PC上,打开内部存储器根目录,创建APK文件夹,将apk拷贝进去。拷贝进去以后拔下TypeC连接线,眼镜接上SeerPad.点击眼镜菜单界面右下角apk图标打开安装列表。选择对应apk进行安装。

2.6 在Unity中模拟操作

在Unity中可以模拟手势相关的操作,下面是一些常用操作说明。

(1) 虚拟手操作说明

按住键盘Space(空格键)按键出现虚拟右手

按住键盘Shift(空格键)按键出现虚拟左手

按住键盘W、A、S、D按键可以前后左右移动视野

按住键盘Q、E按键可以上下移动观察视野

按住鼠标右键旋转观察视野

滚动鼠标滚轮可以前后移动虚拟手

当虚拟手或者射线选中交互物体以后,可按住鼠标左键选择拖动。如果是UI元素,也是通过按下鼠标左键进行选择。

3、 如何构建应用

SDK提供完整的构建能力,您可以参考示例场景进行项目构建,同时为了开发方便,也提供快捷方式添加这些功能,如下图所示,我们可以直接通过快捷方式添加一些核心功能。

3.1 如何创建一个基础场景

为了让Unity场景能够在我们眼镜里面运行起来,我们需要构建和我们眼镜相关的基础场景。

(1)创建一个新场景

(2)场景配置

3.2 如何使用眼球追踪功能

眼球追踪功能可以提供眼球的注视点方向、眼球坐标、瞳距等数据。

(1)构建基础场景

(2)添加XvEyeTrackingManager

(3)参考示例场景EyeTracking 里面的XvEyeTrackingDemo脚本

(4)打包测试

(5)视频教程

3.3 如何使用头瞄点和UGUI交互

要能够使用头瞄点和UGUI交互,你可以参考下面操作步骤添加必要功能。

(1)构建基础场景

(2)添加预制体XvHeadGazeInputController到场景里面

(3)添加XvXRInputModule

(4)打包测试

(5)视频教程

3.4 如何使用虚拟键盘输入

使用虚拟键盘,可以在特定输入框中输入汉字、数字、字符,可参考下面步骤将虚拟键盘用于你的项目中。

(1)构建基础场景

(2)添加虚拟键盘

(3)添加输入框

(4)打包测试

(5)视频教程

3.5 如何录制本地视频和截图功能

sdk提供混合现实的本地录制和截图,按照下面的操作可以将该功能添加到你的项目中。

(1)构建基础场景

(2)添加相机捕捉功能

(3)添加混合显示捕捉功能

(4)添加屏幕录制功能

(5)添加手部UI菜单

(6)打包测试

(7) 录制保存目录

截图所在目录:/storage/emulated/0/DCIM/Screenshots

视频所在目录:/storage/emulated/0/DCIM/ScreenRecorder

(8) 视频教程

3.6 如何捕捉虚实融合视频流

通过混合现实捕捉,你可以很轻松的获取到虚实结合以后的图像,并将该功能用于你实际的项目开发中。

(1)构建基础场景

(2)添加相机功能

(3)添加虚实融合视频流捕捉功能

(4)参考MRVideoCaptureDemo脚本调用方法

(5)打包测试

(6)视频教程

3.7 如何进行使用平面检测

通过眼镜的tof功能,可以识别真是环境中的平面。

(1)构建基础场景

(2)添加tof深度相机功能

(3)添加平面检测功能

(4)打包测试

(5)视频教程

3.8 如何使用Rgbd功能

可以通过rgbd功能获取到rgb图像像素坐标在空间中坐标。

(1)构建基础场景

(2)添加XvCameraManager

添加XvCameraManager,主要用于开启tof深度相机

(3)添加XvRgbdManager

添加XvRgbdManager,通过该脚本可以获取rgb像素坐标到三维空间的变换

(4)脚本调用可参考RgbdDemo脚本

(5)打包测试

(6)视频教程

3.9 如何使用RTSP推流

通过RTSP推流,可以将眼镜第一人称视角虚实结合视频流推送出去,可以使用第三方拉流软件进行视频流播放。

(1)基础场景构建

(2)添加XvCameraManager

(3)添加XvMRVideoCaptureManager

(4)添加XvRTSPStreamerManager

(5)打包测试

(6)进入Launcher界面,点击右下角的系统设置(齿轮图标)

alt text Launcher界面操作小提示:默认采用头瞄(光标跟随用户头部移动)选择并确认(单击计算单元上的圆形确认按钮)

(7)点击“Wifi设置”按钮进入设置页面

alt text

(8)根据示意图分别执行下列操作:

alt text 1)打开Wifi列表 2)选择Wifi 3)点击Wifi密码输入框 4)在虚拟键盘上点击输入密码 5)点击“连接Wifi”按钮 6)等提示出现“连接成功”后表示Wifi连接成功,再点击“返回”退出设置界面。 回到Launcher界面,此时左下角显示IP地址 alt text

(9)打开apk,如下图伸出左手,唤起hand menu菜单

alt text

(10)用手指点击虚拟的“打开相机”和“推流投屏”按钮

(11)可在官网下载VLC视频播放器来进行拉流

下载地址:https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/vlc-3.0.18-win3_xv.zip

(12)打开VLC,打开网络串流

(13)输入IP地址,点击按钮开始播放视频流

地址:rtsp://{ip}:8554/stream/0

示例: rtsp://192.168.31.159:8554/stream/0只需要替换ip部分即可

特别提示: 需要先保证眼镜联网,IP地址是眼镜的IP地址。

(14)视频教程

3.10 如何使用空间建图

通过空间建图的功能,可以用于地图共享实现多人协同等操作。

(1)构建基础场景

(2)添加XvSpatialMapManager

(3)调用方式参考SpatialMapDemo

(4)打包测试

(5)视频教程

3.11 如何创建空间网格

调用眼镜的tof功能,快速扫描空间环境并创建网格覆盖。

(1)构建基础场景

(2)添加XvCameraManager

(3)添加XvSpatialMeshManager

(4)打包测试

(5)视频教程

3.12 如何使用语音识别

使用语音词的识别功能,可以快速配置你所需要的识别命令词。

(1)构建基础场景

(2) 添加XvSpeechVoiceManager功能

(3)添加命令词

(4) 参考示例XvSpeechVoiceDemo使用

(5) 打包测试

(6)视频教程

3.13 如何进行系统设置

如何进行系统相关设置,亮度、瞳距等。

(1)构建基础场景

(2) 添加XvSystemSettingManager

(3) 参考XvSystemSettingDemo调用方式

(4) 打包测试

(5) 视频教程

3.14 如何使用Apriltag和QRCode识别定位

使用Apriltag和QRCode识别定位功能,能够快速将你的模型和空间中识别码对齐。

Apriltag识别码下载链接: https://www.xvisiotech.com/xvisio/DeveloperDocumentation/files/apriltag36h11x16cm.zip

QRCode:自己生成就可以

(1)构建基础场景

(2) 添加XvTagRecognizerManager

设置相关参数,特别注意apriltag支持CameraType的FishEye和Rgb识别,QRCode目前只支持RGB识别。 size大小为二维码物理尺寸大小,单位为m。RecognizerMode:RGB_QRCode(使用RGB相机识别QRCode) RGB_Apriltag(使用RGB识别Apriltag) FishEye_Apriltag(使用FishEye识别Apriltag)。Confidence:识别置信度,0-1的数值。

(3) 添加识别目标XvTagRecognizerBehavior。

注意设置物体id,Apriltag识别码ID参考下图识别码名称后面的数字,QRCode 使用二维码内容作为唯一id.

(4) 打包测试

(5) 视频教程

3.15 如何使用静态手势

静态手势包含如下手势:

(1)构建基础场景

(2) 添加XvStaticGestureManager

(3) 代码调用可参考XvStaticGestureDemo脚本

(4) 打包测试

(5) 视频教程

3.16 如何调用相机

如何调用相关相机,rgb、tof、fisheye相机等。

(1)构建基础场景

(2) 添加XvCameraManager

(3) 添加XvMRVideoCaptureManager

(4) 调用方式参考XvCameraDemo脚本

(5) 打包测试

(6) 视频教程

3.17、如何添加手柄交互功能

如何使用手柄进行交互。

(1)构建基础场景

(2) 添加XvJoystickManager

(3) 添加XvJoystickDemo

(4) 调用方式参考XvJoystickDemo脚本

(5) 打包测试

(6) 视频教程

3.18、如何监听按键

可参考下面的方法。

(1)计算单元按键

计算单元提供四个方向键和一个确认键,要监听这些按键的状态,每个按键对应三种状态分别是GetKeyDown,GetKey,GetKeyUp。参考下面按下状态调用方法。

bool OK = Input.GetKeyDown(KeyCode.Return);确认键

bool LeftArrow = Input.GetKeyDown(KeyCode.LeftArrow);左键

bool RightArrow = Input.GetKeyDown(KeyCode.RightArrow);右键

bool UpArrow = Input.GetKeyDown(KeyCode.UpArrow);上键

bool DownArrow = Input.GetKeyDown(KeyCode.DownArrow);下键

3.19、如何使用系统签名

有的应用需要使用到系统权限,比如wifi连接功能等。那就需要添加系统签名才能正常使用该功能,系统签名文件可联系商务获取,拥有系统签名可以参考下面方法使用。

(1)添加系统签名

(2) 选择系统签名文件

(3) 输入签名密码

密码:android

需要在LauncherManifest文件里面添加android:sharedUserId ="android.uid.system"才能使用,如果不需要系统签名,可以去掉。

3.20、如何通过IR图像获取空间坐标

根据IR像素坐标获取空间中对的世界坐标。可参考示例场景IRToWorld。

4、示例场景

示例场景包含SDK常用功能的演示,你可以参考示例场景测试sdk功能或者构建你的应用。基础示例场景所在目录如下图所示:

4.1 EyeTracking

EyeTracking主要提供眼控相关的功能使用案例,包括眼动校准和眼动数据的使用,包含多个场景,“EyeCalibration”眼动校准,“EyeTracking”眼动追踪,“EyeImage”获取眼球追踪图像。

4.2 Gaze

提供头瞄点对UGUI交互功能,特别注意,该功能只能和UGUI交互。

4.3 Joystick

该示例场景包含手柄的使用方式,包括手柄连接、配对、扫描等功能

4.4 Keyboard

虚拟键盘,需要创建特定输入框接收虚拟键盘输入 。

4.5 MediaRecorder

本地视频录制、截图功能。

4.6 MRTK2

提供标准MRTK的常规交互功能。

4.7 MRVideoCapture

提供MR混合现实视频的捕捉方法。

4.8 PlaneDetection

该场景提供平面和垂面检测使用方法。

4.9 Rgbd

该场景提供通过RGB坐标获取对应三维空间坐标的示例方法。

4.10 RTSPStreamer

该场景演示如何将眼镜第一人称视角的MR混合视频通过RTSP推流。可使用第三方RTSP拉流软件进行播放,比如vlc视频播放器。

4.11 SDKSamples

该示例场景演示多场景切换功能,通过该场景可以测试包含sdk所有的功能。

4.12 SpatialMap

该场景演示了空间地图的使用使用方法,包括创建地图、保存地图、加载地图功能。

4.13 SpatialMesh

该场景展示了我们空间扫描和网格构建能力,可以扫描空间环境,创建和环境匹配的网格。

4.14 StaticGesture

该场景主要演示静态手势的使用方法。

4.15 SpeechVoice

该示例场景演示语音命令的识别功能。

4.16 SystemSetting

该场景演示了系统相关的设置,包括亮度、瞳距设置等。

4.17 TagRecognizer

该示例场景演示如何使用Apriltag和QRCode进行空间定位。

4.18 Viewer

该示例场景演示如何使用相机、包括tof深度相机、双目鱼眼相机、AR眼镜RGB相机。计算单元后置相机。

4.19 BlueTooth

该示例场景演示如何在应用中使用蓝牙连接配对功能。

4.20 TofPointCloud

该示例场景演示如何通过tof相机获取空间点云数据。

4.21 Wifi

该示例场景演示如何在应用中连接wifi。

4.22 IRToWorld

根据IR像素坐标获取空间中对的世界坐标。可参考示例场景IRToWorld。

5、常用API

5.1 XvEyeTrackingManager

(1)描述

提供眼控功能校准和获取眼动姿态的相关接口,通过该接口,你可以很方便的将眼动应用到你的工程里面去。

(2)接口

a) public void StartGaze()

注解:启用眼控功能

b) public void StopGaze()

注解:停止眼控功能

c) public void GazeCalibrationEnter()

注解:进入眼控校准

d) public int GazeCalibrationCollect(Vector3 point, int index)

注解:设置点位校准数据,需要采集五个点位数据,中心点坐标和四个方位角坐标,中心点第一个坐标,左下角第二个坐标,右下角第三个坐标,右上角第四个坐标,左上角第五个坐标。

参数:

0:设置成功

1:设置失败

返回值:

0:设置成功

1:设置失败

e) public bool UnsetGazeCallback() 重置眼控校准数据

返回值:

0:设置成功

1:设置失败

f) public int CalibrationFinish() 结束眼控校准

返回值:

0:设置成功

1:设置失败

5.2 XvMediaRecorderManager

(1)描述

描述:该类提供MR混合现实视频流的本地录制和本地截图功能,该类依赖于XvMRVideoCaptureManager类。

(2)接口

a) public void StartCapture():

注解:启用混合现实捕捉

b) public void StopCapture(bool closeCamera=false)

注解:停止混合现实捕捉

参数:

closeCamera:true:关闭相机 false:不关闭相机

c) public void StartRecording()

注解:开始录制视频

d) public void StopRecording(UnityAction callback)

注解:停止视频录制

参数:

Callback:视频保存后的回调,返回视频保存地址

e) public void SaveScreenshot(UnityAction callback)

注解:保存截图

参数:

Callback:截图保存回调,返回截图保存地址

5.3 XvMediaRecorder

(1)描述

XvMediaRecorder是基于XvMediaRecorderManager 实现的手部菜单录制功能。

(2)接口

a) public void StartRecording()

注解:开始录制视频

b) public void StopRecording()

注解:停止录制视频

c) public void SaveScreenshot()

注解:保存截图

5.4 XvMRVideoCaptureManager

(1)描述

该类依赖于XvCameraManager类,主要实现混合现实视频流的捕捉。

(2)变量

a) Public RenderTexture CameraRenderTexture

注解:获取当前视频流纹理

b) public Camera BgCamera

注解:虚拟相机

(3)接口

a) public void StartCapture()

注解:开启捕捉虚实结 合视频流

b) public void StopCapture(bool closeCamera = false)

注解: 停止捕捉虚实结合视频流

参数:

closeCamera: true:关闭相机 false:不关闭相机

5.5 XvPlaneManager

(1)描述

该类提供空间平面和垂面检测接口。

(2)变量

a) public event Action planesChanged

注解;提供数据

(3)接口

a) public void StartPlaneDetction()

注解:开启平面检测功能

b) public void StopPlaneDetction()

注解:关闭平面检测功能

5.6 XvPlaneMeshVisualizer

(1)描述

提供眼控功能校准和获取眼动姿态的相关接口,通过该接口,你可以很方便的将眼动应用到你的工程里面去。

(2)变量

a) private Material planeMat

注解:用于设置平面的材质

5.7 XvRgbdManager

(1)描述

该类主要实现rgbd功能,通过该类可以启用或者关闭rgbd功能,可以根据rgb像素坐标获取到三维空间坐标。

(2)接口

a) public void StartRgbPose()

注解:开启RGBD功能

b) public void StopRgbPose()

注解:关闭RGBD功能

c) public bool GetRgbPixel3DPose(Vector2 rgbPoint,ref Vector3 spacePoint)

注解:通过rgb像素坐标获取控件三维坐标

参数:

rgbPoint :rgb 像素坐标:

spacePoint:空间三维坐标

返回值:

spacePoint:空间三维坐标

d) Public bool GetRgbPixelPoseList(Vector2[] rgbPoint,ref pointer_3dpose[] spacePose)

注解:根据rgb像素坐标数组,获取三维空间中坐标数组

5.8 XvRTSPStreamerManager

(1)描述

该类主要实现将第一人称视角的混合现实画面通过RTSP进行推流,可以使用rtsp拉流软件进行查看。

rtsp地址:rtsp://{ip}:8554/stream/

示例:rtsp://192.168.32.98:8554/stream/

(2)接口

a) public void StartRtspStreaming()

注解:开始推流

b) public void StopRtspStreaming()

注解:停止推流

5.9 XvSpatialMapManager

(1)描述

该类主要实现Cslam功能,可以对空间地图进行扫描生成地图文件,可以通过地图文件实现多人协同功能等。

(2)变量

a) public static UnityEvent onMapSaveCompleteEvent=new UnityEvent()

注解;地图保存成功后的回调

参数:

参数1:map 保存状态

参数2:地图质量

b) public static UnityEvent onMapLoadCompleteEvent=new UnityEvent();

注解:地图加载完成回调

参数:地图质量

c) public static UnityEvent onMapMatchingEvent = new UnityEvent()

注解;地图匹配度回调

参数:地图匹配质量

(3)接口

a) public void StartSlamMap()

注解:开启地图扫描

b) public string SaveSlamMap()

注解:保存扫描地图

返回值:地图保存路径

c) public void LoadSlamMap(string mapPath)

注解:加载地图

参数:已保存的地图路径

d) public void StopSlamMap()

注解:关闭地图扫描功能

e) public ListGetFeaturePoint()

注解:获取地图特征点

返回值:特征点空间坐标

5.10 XvSpatialMeshManager

(1)描述

该类主要进行空间网格扫描。

(2)变量

a) public static event Action meshChanged

注解:扫描到空间网格回调

(3)接口

a) public void StartMeshDetection()

注解:开启空间网格扫描功能

b) public void StopMeshDetection()

注解:关闭空间网格扫描功能

5.11 XvSpatialMeshVisualizer

(1)描述

该类主要实现空间网格可视化功能。

(2)变量

a) private Material meshMat

注解;设置空间网格可视化材质属性

5.12 XvSpeechVoiceManager

(1)描述

XvSpeechVoiceManager主要提供语音识别接口相关功能和配置。

(2)变量

a) public UnityAction onCommandRecognized

注解: 语音命令词识别到回调

b) private List aitalkWords = new List()

注解:语音命令词配置和识别成功回调

5.13 XvSystemSettingManager

(1)描述

提供眼控功能校准和获取眼动姿态的相关接口,通过该接口,你可以很方便的将眼动应用到你的工程里面去。

(2)接口

a) public int GetBrightnessLevel()

注解:获取当前眼镜亮度

返回值:0-9

b) public void SetBrightnessLevel(int level)

注解:设置当前眼镜亮度

参数:亮度等级0-9

c) public void SetIPD(float ipd)

注解:设置当前瞳距

参数:瞳距数值,单位是毫米(55mm – 75mm)

d) public float GetIPD()

注解:获取当前瞳距

返回值:当前瞳距,单位为毫米

5.14 XvTagRecognizerManager

(1)描述

XvTagRecognizerManager主要提供Apriltagh和QRCode的识别。

(2)变量

a) public CameraType CameraType

注解:设置当前识别的相机参数为枚举类型:可选择Rgb或者FishEye

b) public string TagGroupName

注解:设置当前识别库名称,分别

apritag="36h11" qrcode="qrcode"

c) public double Size

注解:识别图像物理尺寸,单位为米

d) public float Confidence

注解:识别置信度阈值

e) public bool IsDetect

注解:识别开关

f) public UnityEvent OnDetectedAprilTagEvent

注解:识别成功回调

(3)接口

a) public void SetDetectStatus(bool isDetect)

注解:识别检测状态切换

输入:

True:开启检测

False:g关闭检测

5.15 XvTagRecognizerBehavior

(1)描述

该类提供识别成功以后回调方法。

(2)变量

a) public TagDetection TagDetection

注解:识别到的数据结构

b) public UnityEvent OnFoundEvent

注解:识别成功回调

c) public UnityEvent OnLostEvent

注解:识别丢失回调

d) public int id

注解:当前识别码id

5.16 XvCameraManager

(1)描述

可以通过该类获取相机的图像数据以及相机的开关功能。

(2)变量

a) public XvARCameraParameter XvARCameraParameter

注解:设置AR眼镜上rgb相机参数

b) public XvWebCameraParameter XvWebCameraParameter

注解:设置计算单元上的rgb相机参数

c) public static UnityEvent onARCameraStreamFrameArrived

注解:AR相机数据回调

d) public static UnityEvent onLeftStereoStreamFrameArrived

注解:左鱼眼相机数据回调

e) public static UnityEvent onRightStereoStreamFrameArrived

注解:右鱼眼相机数据回调

f) public static UnityEvent onTofDepthCameraStreamFrameArrived

注解:tof相机数据回调

g) public static UnityEvent onWebCameraStreamFrameArrived

注解:处理器计算单元后置摄像头

h) public XvTofCameraParameter XvTofCameraParameter

注解:设置tof相机参数

i) public static UnityEvent onTofIRCameraStreamFrameArrived

注解:tof 相机ir图像数据回调

(3)接口

a) public void StartCapture(XvCameraType cameraType)

注解:打开相机

b) public void StopCapture(XvCameraType cameraType)

注解:关闭相机

c) public bool IsOn(XvCameraType cameraType)

注解:相机是否已经开启

5.17 XvStaticGestureManager

(1)描述

该类主要提供静态手势的获取以及手势状态监听

(2)接口

a) public StaticGestureStatus GetCurrentStaticGesture(HandType handType)

注解:获取当前手势

参数:handType,对应左右手

b) public bool GetKeyDown(StaticGestureStatus gestureStatus, HandType handType)

注解:当前手势刚触发

c) public bool GetKeyUp(StaticGestureStatus buttonKey, HandType handType)

注解:当前手势刚触发结束

d) public bool GetKey(StaticGestureStatus buttonKey, HandType handType)

注解:当前手势一直触发

5.18 BluetoothManager

(1)描述

该类主要提供蓝牙设备连接扫描等功能。

(2)变量

a) BluetoolthList

注解:获取当前扫描到的蓝牙列表。

b) Ble_Bond_Status

注解:当前蓝牙设备状态。

c) onStateChange

注解:蓝牙状态改变回调。

d) onScan

注解:扫描到蓝牙设备回调。

(3)接口

a) public void StartBle()

注解:启动蓝牙扫描功能,需要先开启蓝牙功能以后调用。

b) public void openBluetooth()

注解:开启设备蓝牙

c) public void closeBluetooth()

注解:关闭蓝牙设备

d) public void connectBle(string bleInfo)

注解:连接蓝牙设备

e) public void disconnect(string bleInfo)

注解:断开蓝牙连接

f) public void unpairDevice(string bleInfo)

注解:取消蓝牙配对

g) public void Scan()

注解:刷新蓝牙列表

6、变更日志

V1.0.10版本

1.slam优化 2.rgb/fisheye apriltag 识别速度优化 3.优化了手势交互 4.渲染优化,增强MR眼镜的显示效果 5.新增静态IP设置功能

V1.0.9版本

1.增加新的眼控场景,参考场景EyeTrackingNew。 2.优化虚实合相推流投屏,适配不同眼镜。 3.添加3588控制器交互。

V1.0.7版本

1.新增RGB曝光参数设置API.xslam_rgb_set_exposure()。 2.新增RGB定焦变焦调节接口API.xslam_zoom_lens()、API.xslam_prime_lens()。 3.新增tof相机曝光设置XvCameraManager.SetTofExposure(int exposureTimeMs)。

V1.0.6版本

1.新增tof相机流模式配置项。 2.新增禁用计算单元的Back或者Home按键返回主菜单接口。

V1.0.5版本

1.新增sony tof相机图像获取。 2.新增IR图像转换到世界坐标空间下的坐标场景。 3.修复API.xslam_reset_slam接口崩溃问题。

V1.0.4版本

1.新增XvCameraManager脚本,添加tof IR图像获取接口。 2.修复rgb识别自定义二维码问题。

V1.0.3版本

1.修复语音命令词自定义问题。 2.修复混合显示铺捉Camera剔除问题。

V1.0.1版本

该版本主要增加wifi和蓝牙相关示例场景,可以查看示例场景XvXRFoundation/SampleScenes/BlueTooth和XvXRFoundation/SampleScenes/Wifi

V1.0.0版本

初始版本,包含眼控功能,头瞄点和UGUI交互功能、手柄交互功能、虚拟键盘输入、本地视频录制,本地视频截图、RTSP推流、平面检测、空间Meesh扫描、Cslam地图创建、语音识别、Apriltag和QRCode识别等功能,具体用法可参考"4 示例场景"。

7、常见问题

8、联系我们