【UE4】【UI】在三维世界中和UI交互

首先。

VR环境下不可能也不被允许在头盔屏幕上出现UI并进行交互。

那为了能愉快的搞事情,必然需要有什么途径在虚拟环境中实现UI及其交互。

在开始之前,请先看以下官方文档和教程。

第一篇:创建 3D 控件交互

第二篇:创建一个可进行交互并提供文本框输入的小键盘

具体思路是这样。

为了能在3D世界内显示UI,那么这个“UI”必然是Actor。在UE4中我们能通过控件蓝图创建一系列UI。那如何让这两个关联呢?

此时就要引入两个很重要的组件。

一是Widget。用来作为UI的载体。

二是WidgetInteraction。是一条射线,用来和UI交互。

首先看Widget。

新建一个Actor>>添加组件Widget>>Widget Class 选择我们要实现的UI控件蓝图。

之后根据实际需要设置下Draw Size的尺寸。然后将这个Actor丢到世界中去,就能看到UI了。

【UE4】【UI】在三维世界中和UI交互

已经有了UI,但现在我们只能看看,还不能交互。

为了达成这个目的,需要在手柄上绑定另一个组件WidgetInteraction。

其实本质很简单,就是一条射线碰撞检测。

关键在这里。

【UE4】【UI】在三维世界中和UI交互

press pointer key这个函数即是使我们按下扳机模拟鼠标左键按下的方法。

详细的见这里。