1.使用AIController首先要添加模块
在 .Build 文件中添加 AIModule,如下图:
如果不添加模块,直接使用 AAIController 就会发生无法解析外部符号的错误,如下图:
2.创建AIController,寻路功能:
1.生成默认控制器
NewMainCharacter->SpawnDefaultController();
2.将默认控制器转换为AIController
AAIController* AICont = Cast<AAIController>(NewMainCharacter->GetController());
3.使用AI控制器进行寻路等操作
if (AICont) {
FAIMoveRequest MoveRequest;
MoveRequest.SetGoalLocation(Location);
MoveRequest.SetAcceptanceRadius(10.f);
FNavPathSharedPtr NavPath;
FPathFollowingRequestResult pathfollowingRequest= AICont->MoveTo(MoveRequest,&NavPath);
}
4.最后别忘记了在场景中添加寻路网格体才可以移动操作。
小贴士:如果寻路距离太远,比寻路网格体的覆盖面积还远,那么人物是不会动的。因为无法到达目的地。