当前位置:   article > 正文

UE4-(蓝图)第二十四课UI主菜单(UI主菜单功能、镜头过渡,控制权切换)_ue4移除蓝图控件

ue4移除蓝图控件

一、创建控件蓝图

1.文件夹空白地方右键创建User Interface/控件蓝图,重命名为UI_Test。

二、编辑控件蓝图中的UI界面(注意层级关系)

1.双击打开控件蓝图,设置控件屏幕大小,在右上角的Screen Size 选择电视/1080p。

2.创建垂直控件,用来布局菜单按钮,放置位置为panel左下角,调整锚点。

锚点作用:Vertical Box 距离Canvas左上角的位置不变,不管屏幕窗口放大还是缩小始终在左下角。如果锚点拽开分成四小瓣,当屏幕造成缩放时,UI会按一定比例放大缩小。

3.创建3个按钮,并设置按钮平铺模式,边距为25.最后一个底边距为0

4.为按钮添加Text用于显示各自的功能名称,选择Text拖拽到Button下成为子物体。选择Text,在细节面板更改显示的名称。

选择Text,在细节面板的Content属性中更改要显示的名称,在Appearance中

Color and Opacity:文本颜色

Font:设置字体的格式,字形,大小,使用材质。

OutlineSettings:设置字体的外框属性   将Outline Size 设置为1 ,字体会有外边框。

另外两个按钮分别显示 设置 退出 ,字体大小外边框设置与开始字体设置一致。

三、添加按钮点击事件

1.选择开始按钮,在细节面板最下层找到事件,事件分别为:当按钮按下后,当按钮按压时,当按钮松开后,当鼠标悬浮时,当鼠标离开时。

选择On Clicked 创建按下事件节点

2.场景中创建蓝图类,放置摄像机,用于开始时只选择UI,不能控制任何物体。文件空白处右键创建蓝图类选择类型为Pawn,命名为Camera_UITest。在蓝图类中添加组件为Camera,选择自身,在细节面板Input属性中设置角色控制权Auto Receive Input 为Player0,

   

编译后,将该蓝图类放在场景中,面对角色放置。视图右下角可以看到拖入像机看到的画面

3.打开UI_Test,选择右上角的图标进入蓝图编辑界面,功能逻辑为:点击后,UI消失,摄像机镜头过渡到人物上,更换控制权。

UI消失使用 Remove from parent节点:该节点从父控件移除控件,Target选择的是self 代表的是这个UI_Test蓝图。

该节点,想要谁移除就要获取到谁的引用节点,连接上即可。

创建 获取玩家控制器节点,get playercontroller 节点,因为我们设置的是Camera_UITest蓝图类创建的像机获取到了控制权,所以运行后,Get PlayerController节点获取到的是Camera_UITest物体。

搜索 Set View Target With Blend 节点,如果搜索不到将情景关联去掉在搜索。

参数:Target :当前查看物体,New View Target:目标查看物体,Blend Time:混合时间,Blend Func:混合方式 

我们现在需要获取到人物player,我使用的是Test_Player类 使用Get All Actor Of Class 节点在场景中获取到拥有Test_Player类的actor,返回值为数组。

参数:Actor Class :要寻找的actor类。

因为场景中只存在一个Test_Player,所以用 get 节点获取角标为0的物体就是我们的人物player。

将混合节点中的 Blend Time设置为1秒。

创建更换控制权节点 Possess 节点:该节点设置控制权到谁身上,如果直接将此节点连接,点击开始后,控制权会立马到人物角色身上,不会有镜头的过渡效果,所以需要一个延时器,等过渡节点的过渡效果完成后,才更换控制权。所以使用Delay延时器

target:为playercontroller的物体,In Pawn 将拥有控制权的Pawn

四、将UI显示到运行后的界面中,并且运行前鼠标显示,切换镜头后,鼠标隐藏。

1.UI显示逻辑及鼠标隐藏逻辑写在关卡蓝图中,使用Create Widget创建控件节点。将class选择为我们制作的控件蓝图名称UI_Test,

2.将创建的控件显示在视图中,使用 add to viewport节点,

搜索时会出现Add to player screen:

区别:Add to player screen节点,在一个屏幕分为两个玩家的视图时使用,设置该UI要显示在哪个玩家的屏幕上。

ZOrder属性用来选择层级,

如果Zorder属性在控件蓝图中使用,指的是此控件的渲染优先级,值越高,越靠后渲染

3.显示鼠标使用 show mouse cursor节点,属性 show mouse cursor 打对勾,获取玩家控制器,get playercontroller节点

蓝图连线

五、切换视角后鼠标隐藏,在UI_Test蓝图中,将show mouse cursor 节点连接到最后面将属性show mouse cursor 设置为false,target与Get PlayerController连接

编译后,运行查看效果。

七、退出按钮点击事件,与 三中的1操作一致

1.点击UI_Test蓝图中的右上角设计师选项,返回UI搭建界面

2.创建退出按钮的On Click事件,直接连接 Quit Game 节点

编译后运行。退出按钮也起作用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/108662
推荐阅读
相关标签
  

闽ICP备14008679号