如何根据A *规划路线自动生成样条线,并让人物按照样条线移动
根据目的地节点生成A*规划路线
前置工作:UE5中创建一个俯视视角的游戏,清除游戏内多余的柱子
以人物当前所在位置为起始点
准备工作
创建一个材质

在材质内设置蓝图,主要是实现材质的透明效果

创建棋盘格

创建棋盘格的碰撞盒子,同时设置棋盘格的碰撞为NoCollision

设置起点和终点
这里使用灰色立方体来作为终点,白色作为起点。厚度都调整为0.01

蓝图实现
均在BP_TopDownCharacter中

FUNC_A_Star_moveCaculate


将规划路线转化为坐标点,用于后面的生成样条点

FUNC_DistanceToDestination

使用的变量函数

根据规划路线形成样条点集
BP_TopDownCharacter中

BP_Spine中

AI按照样条点位置移动(AI行为树)
BP_TopDownCharacter中

AIController_New中

BP_AiTree

黑板

根据样条线找点

所有创建的蓝图类

优化了生成路径点同一方向重复生成
新增加的函数和变量

新增函数具体内容
FUNC_JoinSpecialPoint函数中
isChange变量默认值为-1,表示尚未加入点(起点和终点除外)

FUNC_changeLastPosition

FUNC_addPosition

新增变量值的获取和主体部分部分修改内容
lastPosition值的获取和起始点位置加入数组

将终点最后加入数组
