- 联系我们
- 技术支持: vrsupport@qiyi.com
- 商务合作: business@iqiyismart.com
- 人才招聘: 查看职位 >
- 公司地址:北京市朝阳区宏泰东街绿地中心B座11层
SDK提供了奇遇手柄的功能接口。同时开发者可参考Unreal提供的控件交互组件实现场景内模型交互:https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/UMG/UserGuide/WidgetInteraction/ (opens new window)
手柄的位置同步通过MotionController组件来实现,开发者可将控制器绑定在MotionController组件上:
在按键设置位置可以看到QIYUVRInput标签,奇遇手柄所用按键相应的蓝图节点驱动事件如下:
标签内包含了按键触发事件:
按键 | 手柄 | 输入事件 | |
---|---|---|---|
Home/Menu | 左手 | QIYU Touch (L) Menu | |
右手 | QIYU Touch (R) Home | ||
Trigger | 左手 | QIYU Touch (L) Trigger | |
右手 | QIYU Touch (R) Trigger | ||
Grip | 左手 | QIYU Touch (L) Grip | |
右手 | QIYU Touch (R) Grip | ||
X | 左手 | QIYU Touch (L) X Press | |
A | 右手 | QIYU Touch (R) A Press | |
Y | 左手 | QIYU Touch (L) Y Press | |
B | 右手 | QIYU Touch (R) B Press | |
Joystick | 左手 | QIYU Touch (L) Thumbstick | |
右手 | QIYU Touch (R) Thumbstick | ||
X Touch | 左手 | QIYU Touch (L) X Touch | |
A Touch | 右手 | QIYU Touch (R) A Touch | |
Y Touch | 左手 | QIYU Touch (L) Y Touch | |
B Touch | 右手 | QIYU Touch (R) B Touch | |
Joystick Touch | 左手 | QIYU Touch (L) Thumbstick Touch | |
右手 | QIYU Touch (R) Thumbstick Touch |
函数名称 | 函数解释 | ||
---|---|---|---|
手柄连接状态 | 左手 | bool isConnect | |
右手 | |||
trigger 力度 | 左手 | int32 triggerForce | |
右手 | |||
grip 力度 | 左手 | int32 gripForce | |
右手 | |||
是否显示手柄 | 左手 | bool isShow | |
右手 | |||
电池电量 | 左手 | int32 BatteryLevel | |
右手 | |||
摇杆坐标 | 左手 | FVector2D JoyStickPos | |
右手 | |||
手柄位置 | 左手 | FVector Position | |
右手 | |||
手柄四元数[1] | 左手 | FQuat Rotation | |
右手 | |||
线速度 | 左手 | FVector velocity | |
右手 | |||
线加速度 | 左手 | FVector acceleration | |
右手 | |||
角速度 | 左手 | FVector angVelocity | |
右手 | |||
角加速度 | 左手 | FVector angAcceleration | |
右手 |
[1] : 为了达到更自然的手柄交互体验,从v1.5.0开始,手柄旋转四元数值做了调整,将手柄握持杆斜向上35°的姿态作为初始值,如下图所示。如果您在应用中调整过手柄角度,在升级SDK后,需要将模型角度水平向上旋转35°,达到自然的握持姿势。
注:如果应用需要使用奇遇手柄图片,可从此处 (opens new window)下载资源。
请优先通过QIYUController Start Vibration实现手柄震动。
QIYU 接口
Amplitude:震动强度,取值范围0~1。
Duration:震动时长,单位为毫秒,取值范围 20~200000 (不支持设置小于20ms 的震动时长)。
注意:振幅(Amplitude)需要保证在0~1范围内
同时,SDK还支持了如下震动相关的引擎标准。
作用:调用该接口,手柄会根据对应的强度和频率,震动对应的手柄两秒。
输入参数:
Target:应该输入PlayerController的引用。
Frequency:震动频率,SDK暂不支持该配置项。
Amplitude:震动强度,范围0~1。
Hand:目前仅支持Left、Right。
作用:停止手柄震动。
输入参数:
Target:应该输入PlayerController的引用。
Hand:目前仅支持Left、Right。
作用:禁用手柄震动。
输入参数:
Target:应该输入PlayerController的引用。
New Disabled:是否禁用。