一般地,AI的移动分为三步,第一步是生成路径查询请求,第二步根据查询请求查询导航网格,获取路径,第三步是把寻路结果传递给PathFollowing组件进行移动。
对AI下达移动命令后,首先会根据对MoveTo的目标,NavigationQueryFilter,AcceptanceRadius等属性生成FAIMoveRequest。如果不是MoveToActor,还会将目标位置向导航网格进行投影,查询在导航网格上面的目标点。接着会构建FPathFindingQuery,接着根据MoveRequest和FPathFindingQuery查询Path。
UAIBlueprintHelperLibrary::SimpleMoveToActor和UAIBlueprintHelperLibrary::SimpleMoveToLocation会有一些不同,没有经过AAIController而是直接调用PathFollowing组件进行移动。
原文:https://www.cnblogs.com/haisong1991/p/12295864.html