当前课程知识点:虚幻引擎(UE4)技术基础 >  第十章 蓝图应用 >  10.2 实现物体来回移动 >  10.2 实现物体来回移动

返回《虚幻引擎(UE4)技术基础》慕课在线视频课程列表

10.2 实现物体来回移动在线视频

下一节:10.3 Input输入与玩家快捷键交互

返回《虚幻引擎(UE4)技术基础》慕课在线视频列表

10.2 实现物体来回移动课程教案、知识点、字幕

大家好

欢迎来到

虚幻引擎技术基础课堂

我是主讲教师

黄颖翠

现在我们将针对

虚幻引擎技术基础课程中

蓝图应用章节

物体来回移动功能

进行讲解

如何想让物体自己来回的移动

我们来思考一下

首先

我们可以在一个每一帧

都会被执行的事件中做处理

计算出在上一帧

到下一帧这个时间里

应该移动的位移

也就是每一帧走一点

那么现在我当前的位置加上

我需要移动的位移就是可以算出新的位置

然后把这个新的位置

设定给那个物体上

这样看上去就是一个移动的过程

实际上它是在每帧之间

在不停的做瞬移的过程

这是我们常用的做法

所以

我们按这个思路

现在一步一步实现

我们来设计下这个公式

这里是一步一步分解后的公式

首先新的位置就是

当前位置加每帧移动的位移

当前位置很好获取

那每帧移动的位移

如何计算呢

我们用移动的距离乘上单位向量

即可得出

单位向量

这是数学里的一个知识

归一化就是让这个方向不变

但是长度变了

一直保持一

单位向量怎么做

在虚幻引擎中

比较简单的实现

用向量归一化实现

就是Normalize

归一化

这个我会在操作时再次强调

而距离我们可以通过速度乘每帧时间之差得到

所以我们怎么办呢

我们需要让他移动一段距离后转个方向

回头

也就是每隔一个时间

把方向反过来

这样它就不会一直往一个方向走了

那么我们思考下

我刚说的这段话中的要素

第一我们需要过一段时间

第二需要反过来

我们先创建一个Delay延迟

设置延迟为3秒

等待三秒后

我们对它的方向进行一个设置

我们这里用FlipFlop

这是可以实现在A和B之间

进行交替的功能

第一次进来走A

第二次进来走B

第三次进来走A....以此类推

设置好两个方向的数值

一个Y=10

一个Y=-10

对应连接A和B

Delay连接它的入口即可

现在我们通过实践操作来实现逻辑

我们把上节课的逻辑进行备注

方便阅读

我们先找到一个函数

可以每一帧调用

这就是事件Tick

相当于Unity3D中的Update函数的功能

每一帧这个事件都会被触发

然后我们应该设置下位置

也就是SetActorLocation

设置位置

我们每一帧需要做的事情

就是改变目标的位置

目标是什么呢

Self

自己

我们把这里位置拉开一点

那么这里我们需要计算出

我们的新的位置

我们来计算一下

首先

在我的蓝图这里

新建一个变量speed

速度

并且改变它的类型为浮点型

需要设置默认按钮

这里必须先点击编译按钮

这里为什么要这样呢

这相当于编译后

变量之后才有存储位置

你才能对变量进行操作

这里速度设置为100

现在速度有了

移动需要速度

同时还需要方向

那么我们再定义一个方向

Direction

变量类型

Vector向量

点击编译按钮

设置默认值中Y值为-10

其他值为0

我们现在计算上一帧

到这一帧需要移动的距离

首先把速度拖进来

速度乘以时间就是距离

这里Delta Seconds

是两帧之间的时间

我们这里输入一个星号

我们可以找到这个float乘于float运算

点击一下

把这两个数值相乘

就会乘出两帧之间移动的距离长度

只有长度还不够

我们还需要方向

那么把方向拖进来

这个方向我们只要把它

确定方向

但是不能确定我们走多远

所以需要对它做归一化

要求它的长度都是一

归一化是什么呢

就是Normalize

归一化

现在我们有了一个有值没有方向的数

一个有方向没有值得数

做乘运算

Vector乘float运算

这两个值相乘

就是既有方向又有距离了

这个在物理学中叫做位移

现在我们再把这个位移加上

现在已经有的位置

获取当前位置

GetActorLocation

获取自身位置

并与位移做个加法

最后赋值给新的位置NewLocation

点击编译

现在在世界大纲中

找到这个物体

把他的移动性改成“可移动”

运行试一下

它移动了

但是它只会走一个方向

并且不会回头

那我们应该如何让他回头

我们先创建一个Delay延迟

设置延迟为3秒

等三秒后

我们对它的方向进行一个设置

我这里就从左边拖过来方向

并设置方向

每个三秒设置方向

那么设置方向为多少呢

之前我们设置Y为-10

那么反过来设置Y为10

我们来运行一下看看效果

我们发现它3秒后

确实回头了

但是往另外一个方向不回头了

这个就头疼了

怎么办呢

那不是再过3秒再回头

这个一个无限循环的过程

也就是循环切换正

反方向

什么东西能做到这个功能呢

FlipFlop

这是可以实现在A和B之间

进行交替的功能

第一次进来走A

第二次进来走B

第三次进来走A....以此类推

我们来修改下蓝图

设置好两个方向

一个Y=10

一个Y=-10

对应连接A和B

这样就没有问题了

我们编译

运行一下

成功了

那我们在考虑一个问题

可以不可以让圆柱体变色后0.5秒

自动恢复颜色

这有两个点

一个是延迟时间

一个是改变颜色

怎么做呢

我们在这里

添加一个延迟

0.5秒

然后拷贝一个设置材质

把这个材质改成默认值

material

目标这里要链接下游戏对象

这就实现了0.5秒变回原来颜色

我们试一下效果

好了

是不是很有意思

本小节的操作讲解已经完成

留给大家一个课后练习

请大家课后自己操作一下

通过蓝图实现物体来回移动的功能

本节课内容就讲解完毕

感谢大家聆听

再见

虚幻引擎(UE4)技术基础课程列表:

第一章 UE4引擎基础

-1.1 虚幻4引擎简介

--1.1 虚幻4引擎简介

--1.1 小节习题

-1.2 虚幻4引擎的安装及环境部署

--1.2 虚幻4引擎的安装及环境部署

--1.2 小节习题

-1.3 创建项目及试玩

--1.3 创建项目及试玩

--1.3 小节习题

-第一章 章节测试

第二章 UE4编辑器

-2.1 虚幻4编辑界面介绍01

--2.1 虚幻4编辑界面介绍01

--2.1 小节习题

-2.2 虚幻4编辑界面介绍02

--2.2 虚幻4编辑界面介绍02

--2.2 小节习题

-2.3 视口导航及基本操作

--2.3 视口导航及基本操作

--2.3 小节习题

-2.4 导入资源、项目迁移和管理

--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 使用植被工具

--3.4 小节习题

-第三章 章节测试

第四章 材质系统

-4.1 初识材质

--4.1 初识材质

--4.1 小节习题

-4.2 编辑基于物理材质

--4.2 编辑基于物理材质

--4.2 小节习题

-4.3 使用贴图纹理创建材质

--4.3 使用贴图纹理创建材质

--4.3 小节习题

-第四章 章节测试

第五章 光照系统

-5.1 大气照明和定向照明

--5.1 大气照明和定向照明

--5.1 小节习题

-5.2 添加点光源

--5.2 添加点光源

--5.2 小节习题

-5.3 添加聚光源

--5.3 添加聚光源

--5.3 小节习题

-5.4 光源质量和反射

--5.4 光源质量和反射

--5.4 小节习题

-第五章 章节测试

第六章 场景搭建

-6.1 几何体及纹理贴导入

--6.1 几何体及纹理贴导入

--6.1 小节习题

-6.2 素材整理和项目准备

--6.2 素材整理和项目准备

--6.2 小节习题

-6.3 搭建流程

--6.3 搭建流程

--6.3 小节习题

-第六章 章节测试

第七章 动画系统

-7.1 动画资源与编辑器

--7.1 动画资源与编辑器

--7.1 小节习题

-7.2 混合空间

--7.2 混合空间

--7.2 小节习题

-7.3 动画窗口及编辑动画

--7.3 动画窗口及编辑动画

--7.3 小节习题

-7.4 创建自定义角色

--7.4 创建自定义角色

--7.4 小节习题

-第七章 章节测试

第八章 特效系统

-8.1 创建粒子系统

--8.1 创建粒子系统

--8.1 小节习题

-8.2 虚幻粒子基础功能介绍01

--8.2 虚幻粒子基础功能介绍01

--8.2 小节习题

-8.3 虚幻粒子基础功能介绍02

--8.3 虚幻粒子基础功能介绍02

--8.3 小节习题

-8.4 粒子特效的综合运用

--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.1 小节习题

-10.2 实现物体来回移动

--10.2 实现物体来回移动

--10.2 小节习题

-10.3 Input输入与玩家快捷键交互

--10.3 Input输入与玩家快捷键交互

--10.3 小节习题

-10.4 用户界面和HUD

--10.4 用户界面和HUD

--10.4 小节习题

-10.5 创建游戏约束

--10.5 创建游戏约束

--10.5 小节习题

-10.6 游戏结束与重玩功能

--10.6 游戏结束与重玩功能

--10.6 小节习题

-第十章 章节测试

第十一章 游戏AI

-11.1 行为决策的AI

--11.1 行为决策的AI

--11.1 小节习题

-11.2 AI监听玩家行为

--11.2 AI监听玩家行为

--11.2 小节习题

-11.3 AI与玩家的攻击伤害

--11.3 AI与玩家的攻击伤害

--11.3 小节习题

-11.4 AI生成点与随机巡逻

--11.4 AI生成点与随机巡逻

--11.4 小节习题

-11.5 优化游戏体验

--11.5 优化游戏体验

--11.5 小节习题

-11.6 渲染及代码优化

--11.5 优化游戏体验

--11.6 小节习题

-第十一章 章节测试

第十二章 音频系统

-12.1 音频基础

--12.1 音频基础

--12.1 小节习题

-12.2 音频混成器

--12.2 音频混成器

--12.2 小节习题

-12.3 声音特效

--12.3 声音特效

--12.3 小节习题

-第十二章 章节测试

10.2 实现物体来回移动笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。