首页 > 代码库 > 实现在VR下使用手柄来操作UMG

实现在VR下使用手柄来操作UMG

当前使用的UE4 12.5

硬件:HTC Vive

如何实现在VR下使用手柄来操作UMG呢?

当前有两个核心需求:

1,当手柄指向UMG控件时,UMG控件会有hover的效果

2,当手柄Trigger键按下时,触发UMG控件按下功能

好在已经有VRUMGPlugin插件可以研究.VRUMGPlugin插件没有实现hover的效果,而且此插件在处理点击事件时,有Bug,花了好几天去修改,最后还是失败而告终.

不过好消息是,UE4 13.1已经支持VR下使用UMG了,官方是实现了WidgetInteractionComponent,由于项目短时间内不会升级,所以我只好借鉴WidgetInteractionComponent的实现了,复制到UE4 12.5项目下后,发现好多Error,很多接口不一致,经过修改无报错之后,测试发现,点击事件还是有问题.

这下麻烦了,偶然灵光乍现,尝试结合这两个插件.幸运的是经过一段时间的尝试,成功了.

使用参考:

新建一个FirstPerson项目,复制VRUMGPlugin到Plugins目录下,重新生成项目,然后打开FirstPersonCharacter蓝图,添加WidgetInteraction组件

添加蓝图即可:

技术分享

 修改的VRUMGPlugin下载

实现在VR下使用手柄来操作UMG