- 联系我们
- 技术支持: 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:是否禁用。