在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具
在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具
前言介绍:
原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >>
<< https://www.bilibili.com/video/BV1M34y1x7tc >>
官网地址: << Your First Game In Unreal Engine 5 | Tutorial (epicgames.com) >>
<< https://dev.epicgames.com/community/learning/tutorials/e2V/your-first-game-in-unreal-engine-5 >>
所处时间段:
[00:52:30]
~[00:55:47]
;[00:55:47]
~[01:01:22]
;主要内容: AI控制和道具
1.AI控制器
- 先把角色模式放入场景中,ai也使用同一个模型,直接拖拽即可.在选中角色时,还会有个摄像头的窗口出现,这是模型内装的相机视角.
- 在该文件夹内创建AI控制器,和角色控制器一样,都是在蓝图窗口,不过要输入
ai
搜索得到.然后命名为BP_AIController
.
科普知识:
<< Pawn | 虚幻引擎文档 (unrealengine.com) >>
Pawn 是可那些由玩家或 AI 控制的所有 Actor 的基类。
<< Actor和几何体 | 虚幻引擎文档 (unrealengine.com) >>
所有可以放入关卡的对象都是 Actor。
- 然后双击打开蓝图,在事件图表中编辑程序逻辑.定时器设置3s后触发一个事件,输入一个事件(注意到这个事件采用中文命名).该事件触发后就执行
ai moveto
节点,控制角色移动.输入受控角色的pawn
.目标点是(0,0,0)
.
- 设置完成后编译保存,添加到已经在场景中的角色模型.输入
ai
搜索得到.选择设置好的ai控制器蓝图.
- 添加好控制器后,还需要设定导航范围.点击左上角的创建图标,然后输入
NavMesh
,
- 创建好后归位零点,然后放大,直到覆盖整个山谷地形.可以在左上角中切换
顶视图
,方便查看.注意,如果你的地形弄弄的太高或太低,还需要设置一下Z
轴坐标和缩放.
- 你可以通过左上角的显示查看导航范围,快捷键
P
.运行后能看到效果,ai控制一直朝(0,0,0)
坐标移动.记得耐心等待3秒.
2.动态材质
为了区别电脑角色和玩家角色,设置一下不同颜色.为此将创建可用蓝图控制的材质.
打开角色蓝图
BP_Bot
.在Construction
函数页面添加如下逻辑.注意到有2名字一样的set vector parameter value
节点,但描述不一样,需要从蓝色节点拉出来再右键才可以找到.该节点修改参数名为角色颜色
的值.
- 然后打开角色模型的材质,将主体颜色黄色提升为变量,并命名为:
角色颜色
.然后运行就能看到效果了,不过是2个角色都变色了.
- 为了能使每一个实例都自主修改颜色,可以将节点拖出,提升为变量.修改名字
设置角色颜色
.同时在左下角设置中点击眼睛图标,公开这个变量.右边设置中改回深黄色.
- 然后就可以在项目实例中修改ai模型的颜色了.点击运行查看效果.
3.生成物品
- 先从资源工程里导出一些需要的模型.使用迁移功能.除了
UI
的关联内容外,其他都导入.这次就不再设置材质纹理了.导出路径也是直接到工程根目录.总共有5个模型需要导出,最后一次了.一次性全部导出来.
- 会有些资源重复,因为之前有些关联纹理相同.全部点是即可.迁移出成功后可以打开查看有没有报错丢失.
- 然后为其一的小球创建
Actor
蓝图,和之前盒子一样.命名为:BP_Orb
.
- 双击打开蓝图,直接拖拽模型到左边的组件栏.
- 然后拖动,将模型作为父级.如下.再选中,设置右边细节栏,输入
碰撞
,设置碰撞预设
.待会用到.编译保存.
- 接下来开始修改角色控制器的蓝图,在里面添加代码,用于生成这个小球.
- 使用
空格键
生成,和之前人物移动一样,打开项目设置-输入-按键映射-添加
.
- 然后在控制器的事件图表中添加如下程序逻辑,按下空格就生成类对象,位置是当前角色的位置.
- 运行一下看效果
4.收集物品
推荐参考: << 浅谈_UE5/UE4蓝图通信之恰恰舞_哔哩哔哩_bilibili >>
这个up的讲解生动形象,简单明了,还幽默风趣,强烈推荐.
- 打开AI控制器蓝图,创建一个函数,然后双击打开进入函数蓝图.右边可以设置输入输出.新建2个输出参数,一个
布尔
,一个actor对象引用
.这个函数的作用就是找场景中所有的特定类,并返回一个列表/数组.记得勾选纯函数,这样就没有输入引脚了.
- 然后在事件图表中设置如下逻辑.如果你的自定义函数是有输入引脚的,请在上图中勾选纯函数.每次事件成功执行完后就会立刻再调用一次事件,直到找不到球后就是不成功执行完.然后会进入3秒的周期执行.
bug说明,不好意思,有个地方做错了,定时器节点忘记勾选循环了.你如果没有及时触发ai会一直不动.图片太多了,就不重新截图了.
- 运行看效果,ai会停留在第一球那里.因为函数的返回值一直都是数组下标0的对象.
- 接下来要在小球的蓝图中添加删除逻辑.为小球的事件图表添加事件.貌似只能用一下方式添加.每个事件还是唯一的,不能重复添加.
- 在小球的事件图表中添加如下逻辑.发送碰撞时判断碰撞的对象是不是由玩家控制的,如果不是就代表是ai控制的,然后销毁.
- 运行看效果,完美.
5.总结
- 下一篇讲添加其他互动物品.
在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具相关推荐
- 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包
在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕) ...
- 在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物
在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> ...
- 在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地
在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> ...
- 在虚幻引擎5中构建你的首款游戏 - 02 - 新建工程照明
在虚幻引擎5中构建你的首款游戏 - 02 - 新建工程&照明 前言:上一篇简单介绍了本系列,现在开始正式教学. << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔 ...
- 在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门
在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...
- 在虚幻引擎5中构建你的首款游戏 - 01 - 介绍
在虚幻引擎5中构建你的首款游戏 - 01 - 介绍 1. 教程介绍 本系列是针对 Epic开发者社区 的教程 << Your First Game In Unreal Engine 5 | ...
- 在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画
在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...
- 虚幻引擎构建光照失败的原因_如何在虚幻引擎4中构建实时动态封面系统
虚幻引擎构建光照失败的原因 by David Nadaski 大卫·纳达斯基(David Nadaski) 如何在虚幻引擎4中构建实时动态封面系统 (How to build a real-time ...
- 虚幻引擎4中的移动设备分析插件
虚幻引擎4中的移动设备分析插件 Joe Graf 在 2015/09/18 02:20:37 | 学习 教程 程序 Share on Facebook Share on Twitter Share ...
最新文章
- 机器学习(MACHINE LEARNING)MATLAB灰色预测模型
- stl 基于哈希的map c++_【C++】一文带你入门 STL
- 微软:明明修复了Bug,你们还把我骂上热搜?
- 【Mybatis框架】从零开始学Mybatis框架——使用示例
- 解决Ajax不能跨域的方法
- linux qemu运行windows,用qemu搭建CentOS 6 for colinux虚拟系统——《Windows下搭建CentOS 6开发环境之一》...
- Python 用pygame模块播放MP3
- hdu 1142 最短路 + DP
- jni ReferenceTable overflow
- Codeforces Round #442 (Div. 2) D. Olya and Energy Drinks
- 【Java面试题】这道分布式面试题一定要拿下,说说你对CAP的理解?看看高手如何回答
- ubuntu 降级linux内核,ubuntu16内核降级
- 短视频剪辑如何入门?给初学者的三个小建议,助你快速入门
- 计算机无纸化考试官网,我校《计算机与互联网》课程无纸化考试取得圆满成功...
- tftp刷路由器 linux,路由器TFTP配置的四个步骤
- RabbitMQ详解以及spring对RabbitMQ的集成(附带部分源码解读)
- 易经之乾卦和坤卦(从职场角度分析)
- 为什么无监督的预训练可以帮助深度学习
- 计算机网flags,计算机网络原理实验_使用网络协议分析仪Wireshark
- BZOJ1063:道路设计(树形dp)
热门文章
- 十进制小数转十六进制(浮点型转16进制)C语言代码+2种方法
- 3D游戏建模薪资低,内卷,毕业就是失业,真正的原因令人崩溃!
- 处理oracle坏块
- C++:基于CreateThread 实现多线程(附完整源码)
- 计算机无法切换用户,Win10微软账户无法切换Administrator本地帐户的解决方法
- 电脑出现video_dxgkrnl_fatal_error并蓝屏重启
- 蓝光播放机 - 索尼和松下的新阵容
- 年薪200万!四川大学学生入选华为天才少年计划!
- linux 清屏命令(3种方式)
- Xposed框架Android5.1下的环境配置