自己用作记录,如果想学习的直接去看这篇文章吧。
设置好导航体积覆盖整个关卡,然后创建一个aicontroller类
用到如下几个api。
- GetAllActorsOfClass查找关卡中所有的目标点
- MoveToActor移动到某一个目标点
- OnMoveCompleted移动完成会自动调用
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyAIController.h"
#include "AIController.h"
void AMyAIController::BeginPlay()
{
Super::BeginPlay();
UGameplayStatics::GetAllActorsOfClass(GetWorld(), ATargetPoint::StaticClass(), Waypoints);
GoToRandomWaypoint();
}
ATargetPoint* AMyAIController::GetRandomWaypoint()
{
int32 index = FMath::RandRange(0, Waypoints.Num