UE4中有两个函数可以实现VR手柄震动功能PlayHapticEffect(百度翻译:触觉效果)和ClientPlayForceFeedback(力反馈),都是APlayerController的成员函数。
1、PlayHapticEffect的使用
PlayHapticEffect在UE4官方的VR模板工程中有用到:
Hand为EControllerHand枚举类型,表示左手柄还是右手柄,Loop表示是否循环。HapticEffect是HapticFeedbackEffectCurve类型的资源。
首先新建一个HapticFeedbackEffectCurve资源,如下图:
双击打开后可以编辑震动频率和幅度曲线,横坐标为时间,纵坐标为相应的值,如下图:
然后就可以在PlayHapticEffect函数的HapticEffect参数中选择这个资源了
2、ClientPlayForceFeedback的使用
使用方法与PlayHapticEffect类似,先创建力反馈资源(上图右键菜单中的ForceFeedbackEffect),打开后可以编辑力反馈曲线,如图:
然后调用ClientPlayForceFeedback函数,ForceFeedbackEffect参数选择刚才创建的资源,Looping参数表示是否循环,Tag为标签,官方的解释是:“为效果设置一个标签。通过标签可停止效果;如带有相同标签的效果已在播放,它将停止播放此效果并播放新的效果。”,没有亲自试过就把官方解释搬过来,另外没有试过如何控制左右手柄,只知道可以使手柄震动