-
简介
-
追踪模式
-
ArUco 标记和基于标记的追踪功能
-
基于标记的追踪功能
-
-
基于标记的位置共享设置
-
LBE 模式/LBE 混合模式设置
-
LBE 地图配置
-
基于标记的防漂移设置
-
基于标记的高级重新定位设置
-
基于标记的场景对齐设置
-
VR 模拟器模式设置
-
其他服务
-
更多功能
基于标记的位置共享 API (PC VR)
LBSS 提供了多个应用程序编程接口 (API) 以协助进行基于标记的位置共享。
注:
这些 API 只能与 PC VR 应用程序配合使用。有关使用 VIVE Wave VR SDK 开发的兼容一体机应用程序的 API,请参见基于标记的位置共享 API(一体机)。
配置标记 ID 和字典
为一个或两个 ArUco 标记配置标记 ID 和字典。配置两个标记时,只有在用户扫描次要标记后,才会开始位置共享。
使用 PC VR 设置基于标记的位置共享时,有两种方法可以配置标记 ID 和字典:
- 使用 API 从 markers_list.json(已保存在电脑上)中获取标记设置
- 将 markers_list_escape.json 中的标记设置直接插入到 API 中
在使用 VIVE Business 串流设置基于标记的位置共享时,您可以选择使用哪种方法。有关详细信息,请参见使用 VIVE Business 串流设置基于标记的位置共享。
一个 ArUco 标记
在此示例中,标记 ID 为 66,标记大小为 0.280。此标记大小值对应于每边 280 毫米的标记。
string key = "PLAYER00InitMA"; setting = "{\"marker1\": {\"id\": 66,\"behavior\": 3,\"size\": 0.280}}"; key += setting; // Check VS_WVRGetParameters() result bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); if (result == false) { // Write your error handling code here. } |
两个 ArUco 标记
在此示例中,标记 ID 为 66 和 88,且两个标记的大小均为 0.280。
string key = "PLAYER00InitMA"; setting = "{\"marker1\": {\"id\": 66,\"behavior\": 3,\"size\": 0.280,\"isMainMarker\": true,\"pairMarkerID\": 88},\"marker2\": {\"id\": 88,\"behavior\": 3,\"size\": 0.280,\"isMainMarker\": false,\"pairMarkerID\": 66}}"; key += setting; // Check VS_WVRGetParameters() result bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); if (result == false) { // Write your error handling code here. } |
发送标记设置
从电脑上的 JSON 文件中获取标记设置并将其发送到头戴式设备。
string key = "PLAYER00InitMA"; // default path::C:\Users\{USER_NAME}\markers_list.json string markerInfoPath = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\markers_list.json"); if (File.Exists(markerInfoPath)) { string setting = File.ReadAllText(markerInfoPath); setting = setting.Replace("\n", "").Replace(" ", ""); key += setting; } bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); if (result == false) { // Write your error handling code here. } |
发送请求
用于发送请求的辅助函数。
enum DeviceType { HMD = 0, Controller_Left, Controller_Right } bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); VS_WVRSetParameters((int)DeviceType.HMD, key); |
扫描标记
提示头戴式设备的追踪引擎检测 ArUco 标记并处理数据。
string key = "ClearRecenterXform"; VS_WVRSetParameters((int)DeviceType.HMD, key); // This clears the recenter transform for the headset and other tracking devices or objects.You can also manage each device separately, but this is not necessary for most applications. string key = "PLAYER00StartScan"; bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); |
停止扫描
停止扫描过程。
string key = "PLAYER00StopScan"; bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); |
查看扫描状态(可选)
定期检查最新扫描的状态。
注: 为了避免影响系统性能,请勿将检查频率设置为每秒两次以上。
string key = "PLAYER00CheckMA"; bool result = VS_WVRGetParameters((int)DeviceType.HMD, key); |
此内容对您有帮助吗?
是
否
提交
谢谢!您的反馈可以帮助其他人了解最有用的信息。