虚幻4学习笔记(13)用户UI 交互动画、制作2D UI、制作3D UI

news2024/11/24 19:07:19

虚幻4学习笔记

  • 制作2D UI
    • UI 主菜单制作
    • UI动画 和 暂停游戏
  • 制作3D UI

B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732

制作2D UI

导入图片
新建 用户界面-控件蓝图 双击打开
拖入image 参数设置 SizeX1920 SizeY1080
在这里插入图片描述
选择对焦居中点 右下角平铺 参数归零
在这里插入图片描述
ZOrder 数值越大 越显示靠上面
加载图片
在这里插入图片描述
打开关卡蓝图
添加event beginPlay 引出create widget 选中UI 引出add to viewport
add to Player Screen 显示到对应玩家屏幕上面
在这里插入图片描述

UI 主菜单制作

新建Pawn Camera 双击打开
添加组件Camera 将Pawn拖入场景
新建widget Blueprint MainMenu
在这里插入图片描述
拖入Panel 下的 Vertical Box 放入三个Button 并选中
细节- Layout -size 选择Fill
Button 细节 padding Bottom 输入50 增加间隔
锚点拉入Vertical Box中央
每个Button 添加text子集 分别取名 开始游戏 设置 退出 Font size 改为45
OutlineSize 设置为1
点击开始游戏的Events - On Clicked
在这里插入图片描述

引出Remove from Parent target 引出self 移除自身
Remove from Parent 引出 Get All Actors Of Class 资产选择第三人称小白人 Out Actors 引出get 0

添加get player controller 引出 Set View Target with Blend Blend time 设置与延迟时间相同 引出 Possess 引出Show Mouse Coursor 不打钩

D+左键 添加1秒延迟

点击退出的Events - On Clicked
添加quit Game

连线
在这里插入图片描述

关卡蓝图

添加event beginPlay 引出create widget 选中UI 引出add to viewport
add to Player Screen 显示到对应玩家屏幕上面
添加get player controller 引出 Show Mouse Coursor 打钩
在这里插入图片描述

摄像机组件 细节-Pawn Auto Possess Player 改为 Player0 获取控制权
在这里插入图片描述

UI动画 和 暂停游戏

新建Pause 拖入 Border 边界 纯色底框 更改Brush Color 灰色 A即 Alpha透明度 改为0.5
锚点放入中间 Alignment 改为0.5,0.5 PositionX Y 改为0,0
添加文本框 “你是否想要退出游戏”
添加button 锚点居中 Appearance -style-normal -tint 改为透明 添加文本 “是的”
复制一份

Overlap:重叠
Overlay:覆盖

边界是能够包含一个子控件的容器控件,以便
用背景图像和可调整填充将其包围。
单一子项
图像
在这里插入图片描述

点击 是的 的Events - On Clicked
引出quit
点击 继续游戏 的Events - On Clicked
引出set visibility 选择 collapsed 折叠 Hidden 隐藏
在这里插入图片描述

打开蓝图 ThirdPersonCharacter
添加event beginplay 引出create widget 资产选中Pause return value 提升为变量 更名为Pause
添加 add to view port
引出set visibility 选择 collapsed

添加Q键
添加 Pause 变量
添加isvalid
引出set visibility 选择 visible
在这里插入图片描述

world Settings - game mode 创建game mode default pawn class 选择 小白人蓝图
新建play controller 打开 (持续鼠标可见 需要勾选mouse interface-show mouse coursor)
在这里插入图片描述
打开蓝图 ThirdPersonCharacter
添加get player controller 引出 Show mouse cursor 勾选
引出 set input mode UI only 按键无法生效
添加游戏暂停 set game paused 勾选
在这里插入图片描述

打开蓝图 pause
点击继续事件
添加get player controller 引出 Show mouse cursor 不勾选
引出 set input mode game only 按键无法生效
在这里插入图片描述
添加新的动画 Animations Appear
拖入新的画布 canvas panel 全屏显示 offset alignment 全为0
选中canvas panel 添加Track 添加 transform
设置scale 全为0 拖动时间轴至0.75 改为1
添加背景模糊 background blur 细节blur strength 设置8
在这里插入图片描述
选中 background blur 添加 track 添加render opacity 0-1
在这里插入图片描述

pause蓝图
添加 自定义事件 custom Event 开始播放动画
拖入appear 引出play animation
在这里插入图片描述

小白人蓝图
pause引出开始播放动画
在这里插入图片描述
修改继续游戏按钮逻辑
0.75+0.05 =0.8 或者在最后添加 stop animations 解决Bug
在这里插入图片描述
增加判断 播放动画时不能点Q打开操作页面
在这里插入图片描述

制作3D UI

新建UI 全自_UMG 绘制
添加背景模糊 全屏 强度8 层级-1 3D UI不支持
添加Border 全屏 灰色 透明度0.8 层级-1
UI 缩放0.2 0.2 0.2
在这里插入图片描述
新建Actor 3DWIDGET_TEST1
添加控件组件 Widget
细节- user interface - draw size 选择 全自_UMG 调整UI大小 1280 720

常用属性
Space-world 3d效果 screen 2d效果
geometry mode 曲面模式还是平面模式
receicve hardware input 是否接受硬件输入
blend mode masked全遮罩 transparent 透明

blend mode 渲染模式选择 透明

打开第一人称蓝图
添加widgetInteraction 控件交互组件 放到FP_gun 下 左边周全部归零
在这里插入图片描述

调整至枪口 打开debug
在这里插入图片描述
拖入 widgetInteraction 引出 is over focusable widget
添加Press Pointer Key 添加release Pointer Key
添加判断 UI互动不能发射子弹
添加自定义事件 是否全自动、全自动射击 添加bool 值 是否能够全自动
添加全自动是否打开判断
添加set Timer by Function Name 填入函数名 全自动射击 延迟0.1s 勾选loop
添加clear timer by function name 填入函数名 全自动射击
在这里插入图片描述
按钮添加点击事件
event construct事件构造 引出 get all actors of class 资产选择第一人称角色 outactors 引出get 提升为变量 player
添加是否全自动 事件 勾选
添加是否全自动 事件 不勾选
在这里插入图片描述
主界面 菜单思路
新建player controller 勾选 show mouse cursor
新建pawn 添加carmera 组件 获取player0 控制权
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Acwing1027】方格取数(动态规划)题解

题目描述 思路分析 错误思路: 贪心法,先走一次求出最大值,把走过的路上面的数值清零,然后用同样的方法再走一遍求最大值,然后让这两个最大值相加就是最后的结果。 很多人在看到这个题目的时候会有上面的思路&#x…

微信小程序开发学习

模板与绑定 1.数据绑定 1)在data中定义数据 在页面对应的.js文件中把数据定义到data对象中即可 2)在WXML中使用数据 把data中的数据绑定到页面中渲染,使用Mustache(双大括号{{}})将变量名包起来即可,格式…

AHK c++ 禁用鼠标设备实现完美息屏(不是休眠)

如何实现完美息屏呢?虽然可以用ahk实现息屏,但桌子一晃动,鼠标稍微偏移一下,又亮了,导致息屏无效! win10 更新了设备管理器,现在可以禁用鼠标设备了。以前这里是灰色的。 c 禁用鼠标 那么&…

第二章 进程与线程 十七、用信号量实现进程互斥、进程同步、进程的前驱关系

一、实现进程互斥 1、过程 (1)分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问就应放在临界区) (2)设置互斥信号量mutex,初值为1 (3)在进入区P(mutex)…

网工基础知识——以太网

1972年Bob Metcalfe“以太网之父”被Xerox雇佣为网络专家,Bob Metcalfe 来到Xerox公司的Palo Alto研究中心(PARC)的第一个任务是把Palo Alto的计算机连接到ARPANET(Internet的前身)上。1972年底Bob Metcalfe以ALOHA系统…

基于OSATE环境的AADL项目——简单的项目构建与分析示例

一、背景 本文描述了一个非常简单的AADL项目的构建,以及一个示例项目的分析过程。本文主要记录了OSATE工具环境的一些基本操作,适用于刚刚了解OSATE之后,对于整个工具环境无从下手的小白。 因为基于OSATE环境的AADL项目的构建和分析的详细示…

VRRP DHCP ACL NAT 网络核心路由技术综述 (第十课)

VRRP DHCP ACL NAT 网络核心技术综述 (第十课) 六大路由基础技术 简单的利用思维导图回顾 1 浮动路由 2 VRRP 技术==>目的是备份网关

2023-09-20 LeetCode每日一题(拿硬币)

2023-09-20每日一题 一、题目编号 LCP 06. 拿硬币二、题目链接 点击跳转到题目位置 三、题目描述 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示…

Lnmp架构之mysql数据库实战2

4、mysql组复制集群 一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高&#xff…

Python多重继承

前面介绍的大部分的继承都是单继承,既一个子类只有一个父类,但是Python也支持多重继承,即一个子类可以有多个父类。多继承有复杂的父类冲突问题,大部分的面向对象语言都仅仅支持单继承,Python是为数不多支持多继承的语…

Python 判断回文数

"""判断输入的数是否为回文数介绍:回文数:数字从高位到低位正序排列和低位到高位逆序排列都是同一数值例如:数字 1221 无论正序还是逆序都是 1221知识点:1、获取字符串长度函数len()2、条件语句if/elif/else3、循环…

MySQL 高级(进阶) SQL 语句(二) -----存储过程

目录 1 存储过程 1.1 创建存储过程​ 1.2 调用存储过程 1.3 查看存储过程 1.4 存储过程的参数 1.5 修改存储过程 1.6 删除存储过程 2 条件语句 3 循环语句 1 存储过程 存储过程是一组为了完成特定功能的SQL语句集合。 存储过程在使用过程中是将常用或者复杂的工作预…

常用的软件项目管理工具有哪些?

在软件项目管理中,项目计划是工作中非常重要的一环,因此在选择软件项目管理工具时,除了任务管理、进度跟踪外,还需要关注软件的项目计划能力。 软件项目管理的工具有哪些?有什么好用的软件项目管理工具吗?…

windows 深度学习环境部署

1. 根据显卡配置安装适合的CUDA,查看显卡配置可在显卡控制面板上查看,安装是否成功可通过nvidia-smi查看;注意安装路径 https://developer.nvidia.com/cuda-toolkit-archive 2. 根据cuda安装合适的cudnn,需要注册NVIDIA cuDNN Archive | NVIDIA Devel…

记录一次关于嵌套事务传播机制的bug

1、具体问题 这段代码是A嵌套B,B嵌套C,遇到的bug是C代码发生异常进行事务标记(因为使用的传播行为是默认的REQUIRED所以要等A事务进行rollback,C加入了A事务只能暂时进行标记),但是由于B代码进行了异常捕获返回给了A信息并没有抛…

[C]精炼分析状态机FSM

FSM:finite state machine 【有限状态机】,用通俗的语言来表达就是逻辑流程图。 当前状态满足触发条件时,就会切换到下一个状态,并执行对应的任务操作。传统代码做法是用if-else 或者 switch-case来处理。若要做到可扩展性良好的…

【车联网/自动驾驶仿真学习】VEINS_CARLA安装指南

VEINS_CARLA安装指南 这是Veins团队开发的一个接口,能够实现veins和carla之间的数据传输,通过veins通信模块能够实现carla中感知决策等相关数据的传输。 github:veins_carlapaper:Poster: A Case for Heterogenous Co-Simulation of Cooperative and A…

MySQL 高级(进阶) SQL 语句(二) -----连接查询、union联集、case、正则表达式

目录 1 连接查询 1.1 内连接 1.2 左连接 1.3 右连接 2 UNION ----联集 2.1 交集值 2.2 无交集值 3 case 4 正则表达式 1 连接查询 准备工作: create database k1; use k1; create table location (Region char(20),Store_Name char(20)); insert into loca…

最新时间注入攻击和代码分析技术

点击星标,即时接收最新推文 本文选自《web安全攻防渗透测试实战指南(第2版)》 点击图片五折购书 时间注入攻击 时间注入攻击的测试地址在本书第2章。 访问该网址时,页面返回yes;在网址的后面加上一个单引号&#xff0c…

《从菜鸟到大师之路 Nginx 篇》

《从菜鸟到大师之路 Nginx 篇》 Nginx 简介 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行…