在虚幻引擎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控制和道具相关推荐

  1. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包

    在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕) ...

  2. 在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物

    在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> ...

  3. 在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地

    在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> ...

  4. 在虚幻引擎5中构建你的首款游戏 - 02 - 新建工程照明

    在虚幻引擎5中构建你的首款游戏 - 02 - 新建工程&照明 前言:上一篇简单介绍了本系列,现在开始正式教学. << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔 ...

  5. 在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门

    在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  6. 在虚幻引擎5中构建你的首款游戏 - 01 - 介绍

    在虚幻引擎5中构建你的首款游戏 - 01 - 介绍 1. 教程介绍 本系列是针对 Epic开发者社区 的教程 << Your First Game In Unreal Engine 5 | ...

  7. 在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画

    在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  8. 虚幻引擎构建光照失败的原因_如何在虚幻引擎4中构建实时动态封面系统

    虚幻引擎构建光照失败的原因 by David Nadaski 大卫·纳达斯基(David Nadaski) 如何在虚幻引擎4中构建实时动态封面系统 (How to build a real-time ...

  9. 虚幻引擎4中的移动设备分析插件

    虚幻引擎4中的移动设备分析插件 Joe Graf 在 2015/09/18 02:20:37 | 学习  教程  程序 Share on Facebook Share on Twitter Share ...

最新文章

  1. 机器学习(MACHINE LEARNING)MATLAB灰色预测模型
  2. stl 基于哈希的map c++_【C++】一文带你入门 STL
  3. 微软:明明修复了Bug,你们还把我骂上热搜?
  4. 【Mybatis框架】从零开始学Mybatis框架——使用示例
  5. 解决Ajax不能跨域的方法
  6. linux qemu运行windows,用qemu搭建CentOS 6 for colinux虚拟系统——《Windows下搭建CentOS 6开发环境之一》...
  7. Python 用pygame模块播放MP3
  8. hdu 1142 最短路 + DP
  9. jni ReferenceTable overflow
  10. Codeforces Round #442 (Div. 2) D. Olya and Energy Drinks
  11. 【Java面试题】这道分布式面试题一定要拿下,说说你对CAP的理解?看看高手如何回答
  12. ubuntu 降级linux内核,ubuntu16内核降级
  13. 短视频剪辑如何入门?给初学者的三个小建议,助你快速入门
  14. 计算机无纸化考试官网,我校《计算机与互联网》课程无纸化考试取得圆满成功...
  15. tftp刷路由器 linux,路由器TFTP配置的四个步骤
  16. RabbitMQ详解以及spring对RabbitMQ的集成(附带部分源码解读)
  17. 易经之乾卦和坤卦(从职场角度分析)
  18. 为什么无监督的预训练可以帮助深度学习
  19. 计算机网flags,计算机网络原理实验_使用网络协议分析仪Wireshark
  20. BZOJ1063:道路设计(树形dp)

热门文章

  1. 十进制小数转十六进制(浮点型转16进制)C语言代码+2种方法
  2. 3D游戏建模薪资低,内卷,毕业就是失业,真正的原因令人崩溃!
  3. 处理oracle坏块
  4. C++:基于CreateThread 实现多线程(附完整源码)
  5. 计算机无法切换用户,Win10微软账户无法切换Administrator本地帐户的解决方法
  6. 电脑出现video_dxgkrnl_fatal_error并蓝屏重启
  7. 蓝光播放机 - 索尼和松下的新阵容
  8. 年薪200万!四川大学学生入选华为天才少年计划!
  9. linux 清屏命令(3种方式)
  10. Xposed框架Android5.1下的环境配置