(0人评价)
零基础学虚幻4(UE4)第二季:用UE4蓝图制作FPS
价格 ¥ 98.00
该课程属于 零基础学虚幻4(UE4)全系列 请加入后再学习

任务45:UI

 

1, 加入准星UI

User Interface --> Widget BluePrint

 

2. 把UI显示在界面上

GameMode的 BeginPlay方法中,创建UI界面,然后添加到视图上。

[展开全文]
Nico · 2020-11-05 · UI 0

任务44:GameMode

1. GameMode 是什么?有什么用?

GameMode 用来记录游戏的规则,积分这些信息

比如跑酷,玩家的积分,角色可以有多个,积分只属于玩家,而不是和角色绑定。

 

2. 怎么设置GameMode生效?

World Setting 可以设置 GameMode Override选中自定义的GameMode

GameMode 中可以设置 Default Pawn Class 也就是 主角蓝图的类

 

 

[展开全文]
Nico · 2020-11-05 · GameMode 0

任务43:动画事件

 

1. 机器人死亡了,就不在跟着移动

机器人死了,就让他不受控制器控制

DetachFromControllerPendingDestory

 

2. 隔一段时间让机器人消失

方案1:

SetTimerByFunctionName设置一个时间,调用DestoryActor让机器人消失

方案2:

因为上个方案,时间是写死的,如果动画时间变了就得改。更好的方案,动画播放完就给个通知,然后收到通知就让机器人消失。

在动画页面 AnimationSequence 动画片段中加入Add Notify 自定义一个通知

 

在动画蓝图中 接受这个通知 。然后调用销毁机器人的方法。

 

问题:

动画的通知,只能在动画蓝图里面才收的到吗?

是的

[展开全文]
Nico · 2020-11-05 · 动画事件 0

任务42:状态转换

 

机器人血量为0,函数范围死亡

 

死亡动画循环播放

死亡动画设置Loop Animation为否

[展开全文]
Nico · 2020-11-05 · 状态转换 0

任务41:纯函数

1. 什么是纯函数?

纯函数不需要执行线驱动

非纯函数需要执行性驱动

纯函数不修改任何数值

 

2. 什么是执行线?

执行线代表执行的顺序。因为纯函数不改变任何数值,只是展示数值,所以执行顺序不重要,可以不要执行线。只在被需要的时候调用。

 

3. 怎么创造纯函数?

函数设置里面Pure打上勾

 

4. 什么时候用纯函数?

没有执行点的时候,必须要用纯函数。

有限状态机里面没有执行点,只能用纯函数。

 

[展开全文]
Nico · 2020-11-05 · 纯函数 0

任务40:动画状态机

 

1. 动画蓝图增加有限动画状态机

Add New State Machine

 

 

[展开全文]
Nico · 2020-11-05 · 动画状态机 0

任务39:有限状态机

 

1. 什么是有限状态机?

FSM:有限状态,状态切换,切换有条件

灯泡机制就是个有限状态机

 

 

[展开全文]
Nico · 2020-11-05 · 有限状态机 0

任务38:类型判断

1. 怎么让机器人掉血?

射线检测击中会返回一个结果,将该结果中的Hit Actor字段转换成机器人。

CastToRobotShooter

调用机器人的 TakeDamage方法就可以实现机器人掉血的操作。

 

GetClass可以获得对象的类,类和类可以比较

[展开全文]
Nico · 2020-11-05 · 类型判断 0

37 机器人受伤

快捷键

先按B,再按鼠标左键,生成Branch节点

先按S,再按鼠标左键,生成Sequence节点

 

1. 击中的物体是不是机器人?

 

[展开全文]
Nico · 2020-11-05 · 机器人受伤 0

虚幻四中的常见类

 

Actor 可以放在世界关卡中的类

Pawn  可以被控制的Actor,可以接受鼠标,键盘这些Input控制

Character: 可以运动的Pawn ,可以使用Movement函数,可以跑跳飞行

 

Controller 没有物理表现的Actor,用来控制Pawn

 

[展开全文]

射中机器人

 

1. 机器人对射线无响应?

射线击中机器人,无响应。需要改变Mesh对于摄像的响应。

SetCollisionResponseToChannel 将激光所在的Visiblity这种类型设置为Block

如果想对胶囊体设置就把Mesh改成胶囊体

 

[展开全文]
Nico · 2020-11-04 · 射中机器人 0

射击功能实现

 

1. 如何确定射击打到,没达到?

LineTraceByChannel 射线检测

起点: 摄像头位置

方向:GetControlRotation-->GetForwardVector-->Normalize

向量的数乘 就是向量的缩放

 

2. 连续射击

SetTimerByFunction

 

3. 关闭射击

ClearTimerByFucntionName

[展开全文]
Nico · 2020-11-04 · 直线追踪 0

射击

 

Sequence 先做0,再做1,动作序列

SetTimeByFunctionName 每个多长时间,做某个动作

 

 

[展开全文]
Nico · 2020-11-04 · 射击 0

机器人动作

BlendSpace

[展开全文]
Nico · 2020-11-04 · 机器人动作 0

机器人自动寻路

 

1. 划定寻路的范围

Volumes 中找到 Nav Mesh Bounds Volume, 将这个组件拖入场景中

调整该组件的范围和大小,直到覆盖需要的范围。

选中该组件,按下P。

绿色的范围就可以寻路的范围。

 

2. 基于AI Controller 创造一个Controller,用来控制机器人运动

AI Move To 只能在AI Controller 使用,作用控制移动。

 

3. 将 AI Controller 和 机器人绑定

机器人蓝图中的AI Controller 设置为新创建的Controller

 

问题:机器人移动的时候没有动画,直接飘过来了。

[展开全文]

敌人机器人

 

 

[展开全文]
Nico · 2020-11-04 · 机器人 0

什么是函数?

函数做个黑箱,不用关心细节

 

[展开全文]
Nico · 2020-11-04 · 什么是函数 0

什么是变量?

 

变量是存储的地方,是个仓库。想用了就去里面取,不用了就存在里面。

[展开全文]
Nico · 2020-11-04 · 什么是变量 0

产生特效:

 

1. 特效释放的位置

使用一个箭头辅助,在武器骨骼模型的下面加个Arrow,调整位置。

2. 创建特效

Spawn  Emitter Attached

Attach to Component设置为刚加上的箭头Arrow 

 

[展开全文]

播放蒙太奇动画

 

1. 绑定 输入事件 

2.动画蓝图里加个Slot

在动画文件中,增加一个 Slot,只有加了这个蒙太奇动画才有可以生效的位置。

3. 触发蒙太奇

Play Anim Montage 选中相应的蒙太奇文件

[展开全文]

授课教师

老师

课程特色

视频(46)
下载资料(1)

学员动态