• UE4 3DUI显示与交互案例


    实现效果:

     

    实现步骤:

    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

     创建如下节点

     

  • 相关阅读:
    深度学习之wandb的基本使用
    提升 Apache Hudi Upsert 性能的三个建议
    Spring Framework 6正式发布,携JDK 17&Jakarta EE开启新篇章
    实现批量图像对PSNR、SSIM的计算
    【题解】同济线代习题一.6.4
    行政事业单位固定资产管理系统,资产管理系统操作手册
    屏幕显示技术进化史
    C++的缺陷和思考(五)
    torch模块常用方法总结
    nodejs,vue,element 这三者是什么关系?
  • 原文地址:https://blog.csdn.net/ChaoChao66666/article/details/126038008