当前位置: 首页 > news >正文

【UE5.1】NPC人工智能——06 NPC攻击

目录

前言

效果

步骤

一、准备NPC狮子攻击的动画

二、NPC狮子攻击玩家造成伤害


前言

        在上一篇中(【UE5.1】NPC人工智能——05 给NPC添加视觉感知)我们已经给NPC添加了感知功能,使其在感知到玩家后就跑向玩家。本篇要实现的功能是,当NPC跑向玩家后攻击玩家的功能。

效果

步骤

一、准备NPC狮子攻击的动画

1. 准备使用狮子攻击的动画为“ANIM_Lion_ClawsAttack” 

2. 找到狮子的动画蓝图“ABP_Lion”

打开“ABP_Lion”,在动画图表中添加一个状态,这里命名为“ClawAttack”

添加一个变量“IsCrawAttacking”,用于表示狮子是否开始用爪子攻击

编辑过度到“ClawAttack”状态的规则如下

编辑“ClawAttack”状态回到Idle状态的规则如下

添加“ClawAttack”状态的动画输出姿势

3. 打开狮子蓝图“Character_Lion”

在事件图表中先获取到动画蓝图“ABP_Lion”的引用

添加一个狮子用爪子攻击的自定义事件,然后设置动画蓝图的“IsCrawAttacking”为true,1.33s后再设置为fasle。1.33s正好是动画序列“ANIM_Lion_ClawsAttack”单次播放时间。

二、NPC狮子攻击玩家造成伤害

1. 打开狮子骨骼网格体“SK_Lion”

找到狮子右手指的骨骼

添加一个插槽

2. 回到狮子蓝图“Character_Lion”,添加一个球形碰撞组件。该组件的作用就是用来判断狮子的爪子是否接触到玩家。

在细节面板中设置球形碰撞组件的父项套接字为我们刚才创建的插槽

减小球形碰撞组件的球体半径,这里设置为15

同样的方法,我们再给左爪添加一个插槽

给左爪添加碰撞组件

3. 回到狮子蓝图“Character_Lion”中,当球形碰撞组件接触到玩家后就通过应用伤害节点对玩家造成10点伤害。

4. 打开行为树“BT_Lion”,新建一个任务

这里命名为“BTTask_CrawAttack”

在该任务的事件图表中添加如下节点

5. 在行为树中添加刚创建的任务“BTTask_CrawAttack”

此时运行可以看到在狮子追上玩家后就会攻击玩家


http://www.mrgr.cn/news/9463.html

相关文章:

  • C++类和对象的基础介绍(1)
  • 【Google SEO】搜索引擎索引综合SEO指南
  • C语言网络库libevent浅析
  • 【初阶数据结构】链表题的证明
  • CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?
  • 计算机毕业设计选题推荐-法律援助平台-Java/Python项目实战
  • 02:【江科大stm32】:按键控制LED
  • 音频信号编解码原理及在视频制作中的应用
  • 如何选择最佳路线?
  • 初识QT~
  • Vue 组件通信
  • 为什么制造企业数字化转型需要MES管理系统
  • Spring IOC 和 DI 详解(面试常考)
  • UE管理内容 —— FBX Asset Metadata Pipeline
  • Qt+FFmpeg开发视频播放器笔记(二):界面UI搭建
  • postman接口测试
  • ArcMap教程(01):制作人口专题图
  • 双系统ubuntu引导项丢失如何修复
  • HCL AppScan Standard 10.6.0 发布,新增功能概览
  • 什么是聚类?简单描述如下的聚类方法:划分方法,层次方法,基于密度的方法,基于模型的方法。为每类方法给出例子。