Version: 2023.1

NavMesh.SetAreaCost

切换到手册
public static void SetAreaCost (int areaIndex, float cost);

参数

areaIndex 要设置的区域的索引。
cost 新成本。

描述

设置所有代理上的区域类型几何体的寻路成本。

这将替代所有代理上的所有自定义区域成本,并为调用函数后创建的新代理设置默认成本。成本必须大于 1.0。

您可以使用 NavMesh.GetAreaFromName 根据导航网格区域类型的名称查找区域索引。

// ToggleWaterCost
using UnityEngine;
using UnityEngine.AI;

public class ToggleWaterCost : MonoBehaviour { void Update() { if (Input.anyKeyDown) { // Make the water area 10x more costly to traverse. NavMesh.SetAreaCost(NavMesh.GetAreaFromName("water"), 10.0f); } } }

另请参阅:Areas and Costs,了解如何使用不同的区域类型。