- 联系我们
- 技术支持: vrsupport@qiyi.com
- 商务合作: business@iqiyismart.com
- 人才招聘: 查看职位 >
- 公司地址:北京市朝阳区宏泰东街绿地中心B座11层
Sample场景主要演示了如何使用VR输入法键盘、XR ActionBased、XR DeviceBased、角色控制器的使用。
Sample中, BoundaryTest 场景提供了调取虚拟围栏接口的sample,其中包括围栏是否可见、获取所有围栏点集,以及与围栏交互的信息。
在BoundaryTest.cs中可以查看到实现判断如何触发围栏,以及获取相关围栏数据。
开发者可以在demo界面看到4个按钮:
No. | 按钮 | 说明 |
---|---|---|
1 | GoMainScene | 返回主场景 |
2 | Visible | 设置围栏可见 |
3 | InVisible | 设置围栏不可见 |
4 | CreateGeometry | 获取围栏圈点集 |
以及Overlay 显示的右手柄的实时数据(当然你可以更改demo换成左手柄):
No. | 标签 | 说明 |
---|---|---|
1 | isTriggering | 是否触碰到围栏 |
2 | ClosestDistance | 离围栏最近的距离 |
3 | ClosestPoint | 离围栏最近的点坐标 |
4 | ClosestNormal | 离围栏最近的法线(此点垂直于围栏的线) |
5 | GetConfigured | 是否为自定义围栏 |
6 | GetVisible | True: 围栏可见;Flase: 围栏不可见 |
7 | getDimensions | 围栏尺寸范围 |
8 | getFloorLevel | XR 接口Floor Level |
详见4.2 Boundary API: https://dev-qiyu.iqiyi.com/doc/zh/develop/unity/unityxr/reference.html#_4-2-boundary-apis
在ButtonTest.cs中,我们使用UnityXR 官方的接口实现了手柄相关信息,包括速度、加速度、按钮等接口的调用情况:
头戴信息:
No. | 标签 | 说明 |
---|---|---|
1 | isValid | 是否生效 |
2 | name | 名称 |
3 | serialNumber | 目前暂时不支持此功能 |
4 | manufacturer | 设备厂家 |
5 | characteristics | 角色名称 |
6 | devicePosition | 设备位置坐标 |
7 | deviceRotation | 设备角度 |
8 | refreshRate | 刷新率 |
手柄信息:
No. | 标签 | 说明 |
---|---|---|
1 | isValid | 是否生效 |
2 | name | 名称 |
3 | serialNumber | 目前暂时不支持此功能 |
4 | manufacturer | 设备厂家 |
5 | characteristics | 角色名称 |
6 | batteryLevel | 电量 |
7 | devicePosition | 手柄位置 |
8 | deviceRotation | 手柄角度 |
9 | refreshRate | 刷新率 |
10 | deviceVelocity | 设备速度 |
11 | deviceAngularVelocity | 角速度 |
12 | deviceAcceleration | 加速度 |
13 | deviceAngularAcceleration | 角加速度 |
14 | grip | 抓握力度 |
15 | gripButton | 抓握按钮是否按下 |
16 | menuButton | 菜单按钮 |
17 | primary2DAxis | 摇杆方向坐标 |
18 | primary2DAxisClick | 是否按下摇杆 |
19 | primary2DAxisTouch | 是否手指放在上面 |
20 | primaryButton | X/A 按钮 |
21 | primaryTouch | 是否手指放在上面 |
22 | secondaryButton | Y/B 按钮 |
23 | secondaryTouch | 是否手指放在上面 |
24 | trigger | 按trigger力度 |
25 | triggerButton | 按下trigger键 |
26 | triggerTouch | 是否手指放在上面 |
详见Unity XR InputDevice: https://docs.unity3d.com/ScriptReference/XR.InputDevice.html (opens new window)
在Keyboard中,我们提供Sougo输入法及调用方式,示例中展示了不显示密码和显示密码输入框:
QiyuOverlay 示例场景演示了如何使用Overlay 和Underlay高质量地合成到合成层中,相关合成层设置的详尽信息,请参阅QIYU Compositor Layer。
加载示例场景时,您会在相机前看到多个图层渲染,包括overlay、underlay、OES、Default渲染结果。
我们提供了Earth.cs 和 OESHelper.cs 供开发者参考地球转动和OES 纹理的方法。另外,在QiyuOverlay文件中提供了inspector里设置的样例。
Samples中的QiyuOverlay场景提供了各个类型和形状的合成图层示例。
Is External Surface Demo参见Underlay-oes层和OESHelp脚本。
由于亮灭屏或者切换场景过程中,相机渲染发生突变过程,导致屏幕出现闪白光问题,该脚本提供了FadeIn效果,亮屏时屏幕有渐变过程。使用时,只需将该脚本挂到Main Camera上即可。
可以参考Unity官方提供的XR交互示例进行开发,其中包含摇杆移动、抛物线移动、UI点击等。示例地址https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples。