本周任务:
这一部分我将介绍我在这周完成的基于Unreal Engine 4实现的三维VR交互界面和HUD的实现。因为在上一个文章中已经详细的介绍了我就基于Unreal Engine 4制作三维交互界面的心得,在这篇文章中我主要探索如何在三维界面中实现基于VR的交互,以及在这个过程中遇到的问题。
VR交互界面:
制作过程:
创建界面:
将这个界面命名为"Widget"。
通过添加"Border""Button""Text""slider""ComnoBoxString"等组件实现一个简单的ui界面。通过设置"Border"中的"Brush Color"可以改变界面的背景颜色,"slider"是滑动条,"ComnoBoxString"是下拉菜单组件。
创建角色蓝图:
设置"Widget Class"为"Widget"。
HUD制作过程:
首先制作一个HUD:
![](https://i-blog.csdnimg.cn/blog_migrate/6468e9af3c9475f6656152f1b8c3f7dd.png)
层次结构:这个HUD是由一个表示项目名字的单独的文本框“TaiChi”和六个“Horizontal”层次结构组成,其中每个
“Horizontal”层次结构都是由两个文本框构成。
![](https://i-blog.csdnimg.cn/blog_migrate/e31b73f64ad9ecdf86d5ce21bcda7cc5.png)
HUD的显示:
首先我在HUD 的“图表”->“事件图表”中鼠标右键查找事件“Begin Play”,但是没有找到。
![](https://i-blog.csdnimg.cn/blog_migrate/8996a64760da01272c1e348dce19ea3d.png)
我尝试使用“事件Construct”。
![](https://i-blog.csdnimg.cn/blog_migrate/45b254924bcc88c2812245c9922da460.png)
然后右键选择“创建控件”:
![](https://i-blog.csdnimg.cn/blog_migrate/487e2d53671a542ed670c19bc06232fd.png)
点击“创建控件”,选择类为HUD001,即HUD的命名。
![](https://i-blog.csdnimg.cn/blog_migrate/1f77ea21ed041390bc85341ed7350ace.png)
连接
“事件Construct”和“创建控件”:
![](https://i-blog.csdnimg.cn/blog_migrate/5d0e6a2238f53c5459bd185c4e2ced7a.png)
右键添加"Add to Viewport":
![](https://i-blog.csdnimg.cn/blog_migrate/4f9d1efe9944e113712d3ffef5e48733.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4333f352871f5663c6e4640d12719a29.png)
连接
“创建控件”和
"Add to Viewport":
![](https://i-blog.csdnimg.cn/blog_migrate/0c4ec4a8450fe99673d73a1705225d89.png)
现在可视化的工作完成,运行游戏HUD并没有显示:
![](https://i-blog.csdnimg.cn/blog_migrate/1b034ade7c06813176a33b35713dd895.png)
HUD制作过程的问题:
通过初步分析应该是“事件Construct”并不能代替“事件BeginPlay”。因此我搜索资料为什么在HUD蓝图中找不到
“事件Begin Play”,但是由于ue4的资料太少并没有查到。这个问题我将继续研究。
VR交互界面的问题:
问题一:
交互的输入方式:
因为设备的问题我先尝试着用游戏手柄操控交互,目前还没有成功,经过查找资料可能需要删除现有的右手柄并重新设置。接下来的工作,我将继续通过查找资料和学习实现VR交互。
问题二:
蓝图绘制出来但是不能正确运行,因为接触Unreal Engine 4时间太短,没有完全掌握蓝图的知识,这一部分在控制交互方面也非常重要。我会通过继续学习解决这部分问题。