一、设置寻路范围

1.将 体积/Nav Mesh Bounds Volume 拖拽到场景中

2.选中拖入的NavMeshBoundsVolume,调整大小,将想要自动寻路的范围全部包裹。(尽量比场景轮廓大一点)

3.选中NavMeshBoundsVolume,按P查看寻路情况,再次按P消失。

二、编辑寻路AI

1.创建机器人蓝图类,基于Character类创建,命名为RobotShooter,主要赋值一个mesh,然后调整好旋转角度。

2.创建动画蓝图,选择基于机器人对应的骨骼,创建完成后命名为RobotShooter_AnimBP,主要设置机器人的状态,在动画图表里单一放置一个Idle的动画,并将状态连接。

3.在RobotShooter 蓝图类中选中Mesh,在细节面板的Animation栏中,将Animation Mode更改为使用动画蓝图,并将上面创建的RobotShooter_AnimBP选入。

4.创建基于AIController的蓝图类,

创建方法,在文件夹空白处右键选择BluePrint Class ,在创建面板的下方搜索 AI Controller,并选择,命名为RobotController

  创建完成后图标  

5.编辑RobotController内容

双击打开RobotController,测试为游戏开始时就自动走到目标物旁,在事件图标空白处右键搜索AIMoveTo ,选择AI移动到节点。

  

AI移动到节点参数:

Pawn代表机器人,

Destination参数是目标移动到哪个点,

Target Actor 目标物 ,

Acceptance Radius 代表距离目标物多远的时候可以停下。

执行节点:空白的代表当执行到 AIMoveTo 此节点指令后 就会做的处理。

OnSuccess 代表当追上后执行操作

OnFail 没有追上的执行操作

到达位置后,使用Delay节点,可循环调用AIMoveTo节点,实现人物走开,机器人再次移动效果。

6.设置参数

使用Get Controller Pawn 节点获取到当前AI类控制的角色也就是机器人。

使用Get Controller Character 节点获取到玩家角色

 

7.编译后,返回RobotShooter蓝图类中,选中RobotShooter(自身),在细节面板将AIControllerClass选择为RobotController(上面创建的基于AIController的蓝图类)

8.运行。

开始

过程   

最终

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐