版本:Unity 6 (6000.0)
语言英语
  • C#

NavMesh.GetAreaFromName

建议更改

成功!

非常感谢您帮助我们提升 Unity 文档的质量。尽管我们无法采纳所有提交,但我们会通读所有用户建议的更改内容,并酌情进行更新。

关闭

提交失败

由于某种原因,您的更改建议未能提交。请在几分钟后重试。感谢您抽出宝贵时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public static int GetAreaFromName(string areaName);

参数

areaName 要查找的区域的名称。

返回值

如果指定的区域名称存在,则返回int 索引,如果不存在具有指定名称的区域类型,则返回 -1。

说明

返回指定 NavMesh 区域类型的区域索引。

// NearestPointOnWater
using UnityEngine;
using UnityEngine.AI;

public class NearestPointOnWater : MonoBehaviour { void Update() { // Find the nearest point on water. int waterMask = 1 << NavMesh.GetAreaFromName("water"); NavMeshHit hit; if (NavMesh.SamplePosition(transform.position, out hit, 2.0f, waterMask)) { Debug.DrawRay(hit.position, Vector3.up, Color.blue); } } }

其他资源:区域和成本,了解如何使用不同的区域类型。