实现效果:
实现步骤:
1.打开一个第一人称游戏模板,创建控件蓝图,命名为 全自动_UMG
2.双击打开全自动_UMG,创建两个按钮
3.新建一个蓝图,命名为3DUI_test
4.双击打开3DUI_test,添加一个控件组件
5.选中widget组件,控件类选为全自动_UMG
6.选中widget,设置绘制大小
7.设置一些参数
场景中的效果如下:
8.打开第一人称角色模板蓝图,找到 Spawn projectile
9.(选做)删除一些节点
10. 添加一个 控件交互组件
11.调整该控件的层级关系
12.位置和旋转全部归0
在视口界面中可以看到红色的箭头就是控件交互组件
13.将其旋转至正方向
移至枪口位置
14.勾选 显示调试
此时枪口会显示一条红色的线
接近3D UI 时:
15.在第一人称蓝图中 添加如下节点,让按下鼠标左键时能够与3D UI 进行互动
16.如果想设置和UI互动时不能发射子弹
首先添加一个 在可聚焦控件上方 的节点,来判断此时是否可以和UI进行互动
如果不能互动才能发射子弹:
17.编辑全自动的逻辑
首先在第一人称的蓝图中添加一个自定义事件,命名为是否全自动
添加一个布尔值变量,命名为 是否能够全自动
一开始默认不是全自动
将变量 是否能够全自动 拖入事件图表中,再将是否能够全自动引脚拖入自定义事件,这样就可以把变量通过自定义事件传出去来设置
添加两个节点,来判断当前是否能够全自动,如果不能就继续执行刚才的逻辑
创建一个自定义事件,命名为全自动射击
创建 以函数名设置定时器 节点,表示延迟0.1s执行全自动射击事件
勾选 以函数名设置定时器 循环,表示每0.1s执行一次,然后全自动射击事件连上单发的逻辑,这样就达到连发的效果
设置鼠标左键松开时
打开全自动_UMG,设置两个按钮点击时的逻辑
创建如下节点,get 0 表示获取第一个角色(也是这里唯一一个角色)
右键 点击 提升为变量
更改变量名为player
创建如下节点
文章来源:https://www.toymoban.com/news/detail-417071.html
文章来源地址https://www.toymoban.com/news/detail-417071.html
到了这里,关于UE4 3DUI显示与交互案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!