一、创建地图
首先,创建第三人称模式。进入游戏后,打开如下路径后将ThirdPersonCharacter拖进几个在场景中。 主人物一下名字。
二、 你要了解
要实现自动跟随的效果需要知道以下几个节点
Simple Move to Location 简单的移动位置
Controller 需要移动的目标,Controller类型
Goal 目标,Vector类型
Simple Move to Actor 简单的移动到目标角色位置
Controller 需要移动的目标,Controller类型
Goal 目标,Actor类型
Get All Actors of Class 根据类来获取演员
Actor Class 需要获取的类
Nav Mesh Bounds Volume 导航网格边界体积
三、 开始实现
1.首先,先要获取到需要跟随移动的角色,创建一个函数名为intt,在程序开始时候触发,意为初始化。
2.创建一个Character类型数组变量命名为A_pet。用来保存需要跟随移动的角色,在init函数里面给变量赋值。因为有一个是玩家自己,所以需要判断一下,在这里我的代表玩家的角色叫做MainPlayer。
3.回到事件图表里面,创建Event Tick。在这里就需要使用到 Simple Move to Location 节点。首先遍历A_pet,获取到每个Actor的Controller,然后链接到 Simple Move to Location 的参数上。Goal参数需要运算,首先获取到玩家的前方位置和所在位置坐标,然后将前方位置乘上一个负数也就是在玩家背后多少距离然后加上玩家所在坐标将这个Vector的X,Y和需要移动的角色的Z(也就是Z不动)赋值给Goal。这样初步的跟随效果就已经出来了。
4.但是,play后是无法行动的,这里需要设置一个东西。回到场景视图中搜索Nav选择 Nav Mesh Bounds Volume 拖动到场景中,适当的放大,在这个范围内可以跟随移动,超过范围则不可以。
四、 总结一下
Simple Move to Location 和 Simple Move to Actor 都可以实现简单的跟随效果,但是 Simple Move to Actor 不能控制跟随距离而 Simple Move to Location 可以。
需要使用 Nav Mesh Bounds Volume 规定范围才可以产生跟随效果。
有 0 个人打赏
转载:https://blog.csdn.net/qq_42986916/article/details/102489102