NavArea:导航区域,配合NavModifierVolume使用,修改导航网格的路径费用。
NavigationQueryFilter:实现对导航区域的过滤或者费用重写。
通过NavArea, NavigationQueryFilter和NavModifierVolume,可以实现AI对不同路径的选择效果。方法如下:
1 创建NavArea,设置DefaultCost,默认值为1。数值越大,路径费用越高,AI选择的概率越低。
2 创建NavigationQueryFilter,在Area中添加NavArea,可以在此处重写导航费用。
默认情况下,Travel Cost Override不能小于1,原因在于
void UNavigationQueryFilter::InitializeFilter(const ANavigationData& NavData, const UObject* Querier, FNavigationQueryFilter& Filter) const
{
// apply overrides
for (int32 i = 0; i < Areas.Num(); i++)
{
const FNavigationFilterArea& AreaDa