6.进阶功能
6.1 大空间定位功能
1 功能介绍
提供在超大空间的精准、稳定定位的能力,部署方式灵活多变,可适应各种物理空间。
2 定位信标介绍
beacon也称为红外发射器,用于发射定位信号给RhinoX头显,将信标批量部署,可实现大空间精准定位。 目前根据应用场景设计了多种信标,如下:

3 部署方式介绍
定位信标支持垂直部署、水平部署、多种信标混合部署
参考样例:

4 配置步骤
1). 在物理空间部署定位信标;
部署要求:
以场景的中心点为原点,围绕着原点部署信标,测量出每个信标相对于原点的位置(包括位置和角度);
部署之后,不能移动定位信标;
2). 将部署信标和原点位置关系填入配置文件,并设置到软件中;
在第1步中,我们已经得到每个信标相对于原点的位置关系,每个信标是有一个id号的,将位置关系填入xxxx.json文件中,json格式如下:
[{
"beacon_id": "100",
"position": [0, 0, 0],
"rotation": [0, 0, 0],
"group_id": -1,
"coord_system_flag": 1,
"confidence_thresh": 0.85,
"max_distance_thresh": 2.0,
"min_distance_thresh": 0.1,
"drift_recenter_angle_threshold": 1.0,
"drift_recenter_distance_threshold": 1.0
},
{
"beacon_id": "101",
"position": [-2.5, 0, 0],
"rotation": [0, 0, 0],
"group_id": -1,
"coord_system_flag": 1,
"confidence_thresh": 0.85,
"max_distance_thresh": 2.0,
"min_distance_thresh": 0.1,
"drift_recenter_angle_threshold": 1.0,
"drift_recenter_distance_threshold": 1.0
}]
Note
json配置字段的说明,请参考<5 json配置文件规则>
2). 将配置文件设置到头显;
在CloudXRlaunchOptions.txt配置文件,填入配置文件路径
-bigm /sdcard/xxxx.json
将CloudXRlaunchOptions.txt 和 xxxx.json存放到头显sdcard目录下
启动CloudXR client(要求v0.3.14以上版本),通过长按menu键弹出的菜单,查看大空间配置是否已经生效,如果生效Big Space Config显示已经配置的文件

配置项介绍:
Big Space Config: 是指大空间定位功能是否开启,开启之后显示配置的文件,
Not used: 没有配置,如果配置的文件异常,显示Not used(sample_8_8.json config error)
xxx.json: 表示设置了该json配置
Controller Rotation: 是指控制器Rotation使用了那种算法,默认是Fusion
Fusion: Tag光学Rotation和IMU Rotation混合使用
IMU:只使用IMU的Rotation
3). 修改测试的demo场景,场景里虚拟信标和物理信标的位置关系保持一致,启动demo场景验证配置文件的设置准确;
验证方法:在头显上观察虚拟场景beacon和物理空间beacon信标基本对齐
4). 至此,大空间定位功能配置完成。
5 json配置文件规则
1). 原点可以是场景的任意一个点;
2). 每个beacon的position和rotation是相对于原点的关系;

6 配置文件样例
1). 8*8米场景地埋式部署sample_8_8.json
编号100的信标为原点(0,0,0), 信标的位置关系如下:
100, position(0,0,0), rotation(0,0,0)
101, position(-2.5,0,0), rotation(0,0,0)
107, position(-5,0,0), rotation(0,0,0)
104, position(0,0,2.5), rotation(0,0,0)
105, position(-2.5,0,2.5), rotation(0,0,0)
106, position(-5,0,2.5), rotation(0,0,0)

2). 圆形定位信标sample_circle_beacon.json
编号1的信标为原点(0,0,0), 信标的位置关系如下:
position(0,0,0), rotation(0,0,0)
position(0,0,1), rotation(0,0,0)
position(0,0,2), rotation(0,0,0)

6.2 CloudXR启动项配置说明
CloudXR启动项是英伟达提供的一种控制某些运行时特性的功能,英文解释为:Command-line Options或者Launch Options,详细介绍 请参考CLoudXR官网 CloudXR_Lauch-Options
下面我们主要介绍如何在RhinoX Pro头显上使用此功能
1 配置项说明
客户端(头显端)配置项
属性 |
描述 |
---|---|
-s |
连接服务器的IP,直接在属性空格后面输入IP地址 |
-bigm |
设置大空间配置文件的路径,属性空格后面输入配置文件路径 |
-mb |
设置传输视频流的最大码率,单位为Mbps,属性空格后面输入数值 |
-3dof |
设置头显是否使用3dof跟踪,配置属性后头显只跟踪旋转不跟踪位置,不配置则默认使用6dof |
-rc |
设置连接失败后的重连次数,属性空格后面输入数值 |
-srip |
状态变化时,会将状态以udp包发送到该服务器,属性空格后面输入服务器IP地址 |
-srp |
状态变化时,会将状态以udp包发送到该服务器,属性空格后面输入服务器端口号 |
-src |
状态变化时,所发送状态udp包的次数,属性空格后面输入数值 |
-siev |
设置是否发送外设数据到PC服务器,配置该属性则表示发送数据,否则不发送 |
-sa |
打开发送音频到服务端的功能,配置该属性则表示开启该功能,否则关闭 |
-gql |
空格后输入0-3之间的数字,选择不同分辨率;0:0:1024x1024, 1:1408x1408, 2:1824x1824, 3:2144x2144 (修改后需要重启SteamVR才能生效) |
配置格式可参考下图:

Note
请勿添加不需要的配置项,添加有需要的配置项即可
点击 配置示例 下载模板进行参考
2 使用步骤
创建一个名为 CloudXRLaunchOptions.txt 的txt文件,也可以直接在上面下载的配置示例基础上修改
配置完成后将文件拷贝到头显的sdcard根目录下

重新启动SteamVR以及头显上的X-Edgelink进行连接即可
Note
为了防止冲突,我们会优先使用X-Edgelink里面配置的IP地址,如果您希望通过配置项配置IP,则请务必不要在X-Edgelink中输入任何IP
如果您没有使用配置项的需求,请不要使用此功能,防止出现异常。
3 使用头显麦克风功能
如果您需要在串流的同时,使用头显的麦克风进行收音,您可以参考以下步骤进行配置。
参考上面的属性配置介绍,在 CloudXRLaunchOptions.txt 中配置 -sa 属性
修改PC的 C:Users<user>AppDataLocalNVIDIACloudXRCloudXRServerOptions.txt 文件,在其中加入 -ra 属性。(如果没有该文件可以手动创建)
打开电脑的声音设置,在 输出 中选择显卡对应的输出设备,在 输入 中选择对应的麦克风设备(不使用电脑自带设备)
使用电脑的录音功能测试配置是否成功,配置成功即可正常使用。