HandDriver UE5 插件控制器使用手册(适用于插件V1.3.1及以上版本)

1. 示例关卡参考

  • 示例关卡名称:Level_UdxHandControl

  • ⚠️本插件的示例内容仅提供用于测试和参考。

2. 创建角色蓝图

2.1. 新建继承自Pawn/Character基类的蓝图

  1. 创建新蓝图

  • 基类Pawn/Character

  1. 添加摇杆事件接收组件 HandControlInput(v1.3.1版本为:HandJoystick,下同)

  • 组件设置

参数名称
类型
默认值
说明

JoystickDeadZone

float

0.15

摇杆死区,当值处于±0.15之间的时候,其关联的事件不触发,区间0~1

Hand Rocker Switch

bool

true

启用全部摇杆事件,关闭时左右手摇杆事件不启用

Hand Rocker Switch L

bool

true

启用左手摇杆事件,启用前需要先启用全部摇杆事件

Hand Rocker Switch R

bool

true

启用右手摇杆事件,启用前需要先启用全部摇杆事件

TrackPadValue

float

30

TrackPad 手势触发阈值,区间0~60

GripValue

float

50

Grip 手势触发阈值,区间0~80

TriggerValue

float

25

Trigger 手势触发阈值,区间0~100

  1. 初始化HandControlInput组件

  • 初始化时通过函数InitHandControlInput载入HandComponent组件

  1. 添加振动反馈功能

  • 需要触发时在蓝图中对应位置通过组件HandControlInput调用振动回传函数CallVibration。此处提供从LiveLink处获取CharName的方法

  1. 添加摇杆触发事件

  • 通过组件HandControlInput添加摇杆事件以实现自定义逻辑

3. 函数/事件定义

3.1. CallVibration

函数说明:向 HandDriver 软件发送振动数据

参数名称
类型
默认值
说明

RemoteIP

FString

127.0.0.1

HandDriver软件所在电脑的IP地址,如在同一台电脑上使用本地127.0.0.1 IP

CharName

Fstring

None

填入LiveLink设置的数据源名称,用于识别角色

HandType

Enum

Left

哪一只手上的摇杆振子(左/右)

Vibrators

Enum

AllOff

激活的振子(AllOff:无,Vib1:1号,Vib2:2号,AllOn:全部)

Duration

float

1

振动器激活时间(0.04s-2.5s)

Amplitude

uint8

10

振动器振动强度(范围是 4-10 )

返回值:返回本次发送的数据,用于验证数据格式

3.2. MoveForwardEvent

函数说明:接收左手摇杆 Y 轴数据

参数名称
类型
范围
说明

Value

float

-1~1

返回左手摇杆Y值

3.3. MoveRightEvent

函数说明:接收左手X轴摇杆数据

参数名称
类型
范围
说明

Value

float

-1~1

返回左手摇杆X值

3.4. LookUpEvent

函数说明:接收右手Y轴摇杆数据

参数名称
类型
范围
说明

Value

float

-1~1

返回右手摇杆Y值

3.4. TurnEvent

函数说明:接收右手X轴摇杆数据

参数名称
类型
范围
说明

Value

float

-1~1

返回右手摇杆X值

3.6. ButtonA_L/REvent

函数说明:左/右手按下A键时触发

返回值:

3.7. ButtonB_L/REvent

函数说明:左/右手按下B键时触发

返回值:

3.8. ButtonMenu_L/REvent

函数说明:左/右手同时按下A+B键时触发

返回值:

3.9. ButtonJoy_L/REvent

函数说明:左/右手按下摇杆键时触发

返回值:

3.10. TrackPad_L/REvent

函数说明:左/右手触发TrackPad手势时调用

返回值:

3.11. UnTrackPad_L/REvent

函数说明:左/右手释放TrackPad手势时调用

返回值:

3.12. Grip_L/REvent

函数说明:左/右手触发Grip手势时调用

返回值:

3.13. UnGrip_L/REvent

函数说明:左/右手释放Grip手势时调用

返回值:

3.14. Trigger_L/REvent

函数说明:左/右手触发Trigger手势时调用

返回值:

3.15. UnTrigger_L/REvent

函数说明:左/右手释放Trigger手势时调用

返回值:

4. 常见问题

4.1. 按下 A+B 触发 Menu 键时会先触发 A/B

答:添加两个bool变量控制是否按下menu,按下时改为true,执行结束后改为false;对A/B触发添加是否按下menu的判定

Last updated