本周任务:

完成输出成绩,将二维界面转为三维界面并实现用户通过动作控制射线交互。

准备工作:

在将二维界面转换成三维界面之前,我做了很多准备工作。我一直在思考二维和三维的转换之间可能出现的问题:

1)二维界面的蓝图逻辑能否直接在三维界面中使用

2)用户在VR模式下按钮的触发需要借助的交互方式

3)将界面转换成三维界面后如何触发按钮

为了解决这些问题,我尝试在网上寻找答案,然而并没有找到合适的说法。我也咨询了有UE4开发经验的学长学姐们,但是他们并没有人做过VR中的界面交互,所以我做了一些尝试。

我决定先将HUD 放在VR中,看能否正常显示,还有一个问题就是我没有找到资料说HUD能否在VR中正常交互。

HUD在VR中的显示:

首先在HUD中显示图片。

在HUD中图片都是需要画出来的

(个人)太极拳学习系统创新实训第八周(一)

将需要的图片作为纹理显示,需要传入图片文件,图片在屏幕中的位置,以及屏幕的宽和高。其中屏幕的宽高我是通过打印得到的。

(个人)太极拳学习系统创新实训第八周(一)

(个人)太极拳学习系统创新实训第八周(一)

戴上头盔测试HUD并不能在VR模式中显示出来。


学习结束界面:

当用户在教学模式或者评分模式结束时,学习结束界面将可见,并将成绩反馈给用户。

(个人)太极拳学习系统创新实训第八周(一)

通过DTW算法的得到成绩,将得到的成绩存到gamemode的变量中。

(个人)太极拳学习系统创新实训第八周(一)

(个人)太极拳学习系统创新实训第八周(一)

在学习结束界面的图表中访问gamemode中的这一变量,并将其可视化。

(个人)太极拳学习系统创新实训第八周(一)

将二维界面转化为三维界面:

在测试中发现,当用户头戴vive头盔的时候并不能完整的看到二维界面,因此需要使用三维界面。

首先创建一个Actor蓝图,并添加一个Widget组件。

(个人)太极拳学习系统创新实训第八周(一)

在用户界面中更改"Widget Class"为想要显示的二维界面。因为我们需要用这个Actor蓝图来显示所有的二维界面,所以这里并没有设置默认的Widget Class.


(个人)太极拳学习系统创新实训第八周(一)

更改Draw Size 的大小以便能够将界面完全显示出来。

(个人)太极拳学习系统创新实训第八周(一)

在Actor蓝图上切换不同界面:

首先在gamemode中设置一个变量名叫"MenuBoard"

(个人)太极拳学习系统创新实训第八周(一)

在actor蓝图中设置在gamemode中可以通过MenuBoard访问actor蓝图

(个人)太极拳学习系统创新实训第八周(一)

在二维界面中首先转化成gamemode类型访问其中的MenuBoard并改变其中的Widget Class为将要跳转的二维界面。

(个人)太极拳学习系统创新实训第八周(一)


相关文章:

  • 2021-06-19
  • 2021-04-21
  • 2021-08-06
  • 2021-05-04
  • 2021-04-02
  • 2021-10-18
  • 2022-01-06
猜你喜欢
  • 2021-09-14
  • 2021-07-17
  • 2021-04-13
  • 2021-09-16
  • 2021-06-16
  • 2021-12-20
  • 2021-11-03
相关资源
相似解决方案