当前课程知识点:虚幻引擎(UE4)技术基础 > 第九章 蓝图概念 > 9.4 创建蓝图 > 9.4 创建蓝图
大家好
欢迎来到《虚幻引擎(UE4)技术基础》课堂
我是主讲教师晏茗
现在我们将针对
《虚幻引擎(UE4)技术基础》课程中
第七章 蓝图系统的相关概念
进行讲解
现在进入第四节创建蓝图
关于虚幻引擎蓝图的运用
根据蓝图系统之前三小节概述 类型 通信
那么现在我们来看下如何创建蓝图
我们根据蓝图特性
创建一个弹跳功能应用的蓝图
那么本课程的目标是如下视频
达到以上效果
第一步 构建项目平台
其中基础项目设置将引导你在关卡中
使用不同的组件构建一个角色
然后将其转换为一个蓝图类
我们可以将弹射行为添加到其中
这样创建的角色就可以在关卡中弹跳
将其制作为一个蓝图类还意味着
我们可以在构建的世界场景中
创建任意数量的弹跳平台
只需从内容浏览器拖动到该关卡即可
将在关卡编辑器中构建弹跳平台
然后将其转换为蓝图类
以便将游戏行为添加到其中
直到看到该关卡的顶部平台
在主工具栏中
点击模式按钮
在下拉菜单中点击选择
来显示放置Actor 面板
我们将使用空Actor创建容器
来容纳弹跳平台的所有部分
需要两个部分
一个用于表示弹跳平台的形状
另一个是角色重叠时的触发器
在放置Actor面板中
单击基础
然后查找空Actor
将它拖动到关卡中
这样它就位于顶部的一个平台上了
现在已经在关卡中选择了Actor
它的属性在细节面板中可见
在细节面板顶部
可以重命名它
继续并在框中单击以输入一个新名称
例如 LaunchPad
在细节面板中
单击添加组件按钮
然后选择立方体
单击并拖动新添加的立方体至场景
使立方体成为新的根节点
将比例(Scale)更改为相应数值
现在
我们将添加一个盒体碰撞组件
每当有东西与它重叠时
就会触发一个事件
在细节面板中
单击添加组件按钮
然后在碰撞(Collision)下
选择盒体碰撞(Box Collision)
将盒体碰撞(Box Collision)
和位置比例更改为如图所示
让盒体盖住并延伸到弹射板的上方
现在已经有想要的Actor
我们将把它转换为蓝图类
可以在蓝图编辑器(Blueprint Editor)中
添加更多组件
就像在关卡中所做的那样去调整它们
第二步 将Actor转换为蓝图类
在蓝图中进行更改
意味着每次创建一个新的弹跳平台时
它都具有在蓝图编辑器(Blueprint Editor)中
创建的外观和感觉
虽然可以在关卡中复制 LaunchPad Actor
但是对特定弹跳平台所做的任何更改
都只会影响该副本
在细节(Details)面板中
单击蓝图
添加脚本(Blueprint/Add Script)按钮
接着会弹出从选项
创建蓝图(Create Blueprint from Selection)对话框
接下来我们要编辑蓝图的默认路径
将路径从以上路径细化到Blueprints文件夹中去
重命名蓝图
点击创建蓝图(Create Blueprint)
蓝图现在可以在
内容浏览器(Content Browser) 中看到
现在可以从
内容浏览器(Content Browser)
拖放到该关卡
创建大量平台网格体和触发器的副本
但其上还没有任何行为
在下一步中将开始在蓝图中设置图表节点
以便在角色穿过弹跳平台时弹射角色
第三步创建起始点
要开始向蓝图类添加行为
需要在蓝图编辑器中打开它
双击内容浏览器中的蓝图类
蓝图编辑器(Blueprint Editor)将打开
可在视口中看到立方体和盒体组件
此时
如果调整盒体组件的位置
它将应用于从这个蓝图类创建的所有弹跳平台
就像在发射台角色上处理组件一样
可以在组件(Components) 列表中
选择盒体组件并调整位置
尝试把位置设定
停靠在视口(Viewport)选项卡
旁边的是
构造脚本(Construction Script)选项卡
和事件图表(Event Graph)选项卡
由于将创建游戏行为
应该从事件图表(Event Graph)开始
事件是蓝图图表执行的起始点
并且可以与许多不同的游戏进程场景相关联
虽然肯定对许多蓝图图表有用
但我们将制作一个我们自己的事件
想要一个当任何东西与我们的
盒体(Box)组件重叠时将执行的事件
首先
在组件选项卡中选择盒体组件
在图表中添加节点
要在图表中将预先放置的事件节点移出
并创建更多的空白空间来创建弹跳平台逻辑
为该组件添加一个事件
因此要展开为盒体添加
事件(Add Event for Box)下拉菜单
然后展开碰撞(Collision)
选择在组件开始
重叠事件(On Component Begin Overlap)
图表现在有一个组件开始重叠节点
当某些内容与弹跳平台的盒体组件重叠时
连接到此事件的任何节点都将执行
在下一步中
将开始将节点连接到该节点的输出引脚
并了解更多关于在蓝图中使用节点的内容
现在任何内容与盒体触发器重叠时
开始重叠事件都将执行
但是如果重叠的内容是我们的化身或Pawn
那么只想实际执行我们的弹射行为
把它想成是这样的问题
与盒体触发器重叠的Actor
是不是与我们的Pawn相同的那个Actor
我们将通过处理来自组件开始重叠事件的
其他Actor输出来实现这一点
单击事件上的其他Actor引脚
并拖动到图表上的一个空白点中
释放以打开快捷菜单
快捷菜单是自适应性的
通过当前使用的引脚进行过滤
只显示兼容的节点
在搜索框中键入等号=
以过滤可用节点
然后选择相等对象(Equal Object)
我们可以将
横版过关角色(Side Scroller Character)
设置为Equals节点的另一个输入
但是如果我们更改了正在使用的角色
就需要重新打开该蓝图 并手动更新它
所以来获得一个对当前使用的Pawn的引用
在菜单搜索框中键入玩家(Player Pawn)
选择获取玩家(Get Player Pawn)
返回值(Return Value)
输出连接到Equals节点上的第二个输入
现在这个节点将告诉我们
另一个Actor是不是我们的玩家控制的Pawn
我们将使用该答案来更改我们图表的执行流程
也就是说
当执行流程离开组件开始重叠事件节点时
我们将引导执行流程
为此
我们想要使用跟随控制节点
特别是Branch节点
拖出组件开始重叠事件节点上的执行引脚
并在图表的空白部分中释放
在搜索中键入 Branch
然后从快捷菜单中选择分支(Branch)
将Equals节点的输出引脚
连接到Condition节点的输入布尔引脚
现在可以根据重叠的Actor是否是
Pawn来设置要执行的不同行为了
下一步中我们就会这么做
并且如果Equals比较的结果是True
就设置蓝图节点来启动我们的角色
第五步执行动作
我们的弹跳平台将使用一个
名为Launch Character的函数来工作
Launch Character函数
将指定的速度添加到角色的当前速度
允许将其扔向任何方向
不过它只对角色有效
所以我们需要确保我们的Pawn是一个角色
我们通过转换做到这一点
转换试图将输入转换为不同的类型
以便可以访问仅允许用于该特定类型的特定功能
如果输入基于该类型
则会成功
可以在关卡中放置的所有内容都是Actor
这意味着可以获得关卡中的任何内容的引用
并将其转换为Actor
然后就会成功
然而关卡中并不是所有东西都是游戏中代表Pawn
所以将一些东西转换为Pawn可能成功也可能失败
在执行动作里就是
拖出获取玩家节点的返回值(Return Value)引脚
在搜索框中键入 Cast
然后选择转换为角色(Cast to Character)
在搜索框中键入 Launch
然后在快捷菜单中
选择弹射角色(Launch Character)
注意
用于成功转换的输出执行引脚
自动连接到弹射角色(Launch Character)的
输入执行引脚
在Launch Character节点的
Z字段中键入3000
最后
将Branch节点的True执行引脚
连接到Cast to Character节点的
输入执行引脚
这样转换为角色(Cast to Character)
和弹射角色(Launch Character)
从内容浏览器中拖拽几个弹跳平台到关卡
单击工具栏中的运行(Play)
然后在关卡中奔跑 使用WASD
和跳跃 使用空格键
降落在其中一个平台上
测试若干个弹跳平台
以上就是五个步骤
就是创建蓝图的基本操作及部分应用知识点
最后的思考与练习
除了可以创建弹跳性能的蓝图
还可以创造出什么其他功能的蓝图吗
好
本节课内容就讲解到这
希望大家通过今天的学习能够顺利完成蓝图的创建
再见
-1.1 虚幻4引擎简介
--1.1 小节习题
-1.2 虚幻4引擎的安装及环境部署
--1.2 小节习题
-1.3 创建项目及试玩
--1.3 小节习题
-第一章 章节测试
-2.1 虚幻4编辑界面介绍01
--2.1 小节习题
-2.2 虚幻4编辑界面介绍02
--2.2 小节习题
-2.3 视口导航及基本操作
--2.3 小节习题
-2.4 导入资源、项目迁移和管理
--2.4 小节习题
-第二章 章节测试
-3.1 地形工具
--3.1 地形工具
--3.1 小节习题
-3.2 新建地形
--3.2 新建地形
--3.2 小节习题
-3.3 塑造地形
--3.3 塑造地形
--3.3 小节习题
-3.4 使用植被工具
--3.4 小节习题
-第三章 章节测试
-4.1 初识材质
--4.1 初识材质
--4.1 小节习题
-4.2 编辑基于物理材质
--4.2 小节习题
-4.3 使用贴图纹理创建材质
--4.3 小节习题
-第四章 章节测试
-5.1 大气照明和定向照明
--5.1 小节习题
-5.2 添加点光源
--5.2 小节习题
-5.3 添加聚光源
--5.3 小节习题
-5.4 光源质量和反射
--5.4 小节习题
-第五章 章节测试
-6.1 几何体及纹理贴导入
--6.1 小节习题
-6.2 素材整理和项目准备
--6.2 小节习题
-6.3 搭建流程
--6.3 搭建流程
--6.3 小节习题
-第六章 章节测试
-7.1 动画资源与编辑器
--7.1 小节习题
-7.2 混合空间
--7.2 混合空间
--7.2 小节习题
-7.3 动画窗口及编辑动画
--7.3 小节习题
-7.4 创建自定义角色
--7.4 小节习题
-第七章 章节测试
-8.1 创建粒子系统
--8.1 小节习题
-8.2 虚幻粒子基础功能介绍01
--8.2 小节习题
-8.3 虚幻粒子基础功能介绍02
--8.3 小节习题
-8.4 粒子特效的综合运用
--8.4 小节习题
-第八章 章节测试
-9.1 初识蓝图
--9.1 初识蓝图
--9.1 小节习题
-9.2 蓝图类型
--9.2 蓝图类型
--9.2 小节习题
-9.3 蓝图通信
--9.3 蓝图通信
--9.3 小节习题
-9.4 创建蓝图
--9.4 创建蓝图
--9.4 小节习题
-第九章 章节测试
-10.1 击中事件
--10.1 小节习题
-10.2 实现物体来回移动
--10.2 小节习题
-10.3 Input输入与玩家快捷键交互
--10.3 小节习题
-10.4 用户界面和HUD
--10.4 小节习题
-10.5 创建游戏约束
--10.5 小节习题
-10.6 游戏结束与重玩功能
--10.6 小节习题
-第十章 章节测试
-11.1 行为决策的AI
--11.1 小节习题
-11.2 AI监听玩家行为
--11.2 小节习题
-11.3 AI与玩家的攻击伤害
--11.3 小节习题
-11.4 AI生成点与随机巡逻
--11.4 小节习题
-11.5 优化游戏体验
--11.5 小节习题
-11.6 渲染及代码优化
--11.6 小节习题
-第十一章 章节测试
-12.1 音频基础
--12.1 小节习题
-12.2 音频混成器
--12.2 小节习题
-12.3 声音特效
--12.3 小节习题
-第十二章 章节测试