Version: 2021.1

NavMeshAgent

class in UnityEngine.AI

/

继承自:Behaviour

切换到手册

描述

导航网格代理。

此组件附加到游戏中的某个移动角色,以允许该角色使用导航网格在场景中导航。有关更多详细信息,请参阅本手册的导航部分。

变量

acceleration代理遵循某一路径时的最大加速度,以单位/秒^2 表示。
agentTypeID代理的类型 ID。
angularSpeed遵循路径时的最大回转速度(以 deg/s 为单位)。
areaMask指定哪些导航网格区域可通过。更改 areaMask 将会使该路径过时(请参阅 isPathStale)。
autoBraking代理是否应自动制动以避免越过目标点?
autoRepath如果现有路径失效,代理是否应尝试获取新的路径?
autoTraverseOffMeshLink代理是否应自动跨越 OffMeshLink?
avoidancePriority规避优先级别。
baseOffset拥有 GameObject 的相对垂直位移。
currentOffMeshLinkData当前的 OffMeshLinkData。
desiredVelocity代理的期望速度,包括来自规避的任何潜在贡献。(只读)
destination获取代理在世界坐标系单位中的目标或尝试设置代理在其中的目标。
hasPath代理当前是否有路径?(只读)
height代理高度(为了从障碍物下穿过,等)。
isOnNavMesh代理当前是否绑定到导航网格?(只读)
isOnOffMeshLink代理当前是否位于 OffMeshLink 上?(只读)
isPathStale当前路径过时了吗?(只读)
isStopped此属性持有导航网格代理的停止或恢复条件。
navMeshOwner返回当前放置代理的导航网格所属的对象(只读)。
nextOffMeshLinkData当前路径上的下一个 OffMeshLinkData。
nextPosition获取或设置导航网格代理的模拟位置。
obstacleAvoidanceType规避品质级别。
path获取和设置当前路径的属性。
pathPending是正在计算过程中而尚未就绪的路径吗?(只读)
pathStatus当前路径的状态(完整、部分或无效)。
radius代理的规避半径。
remainingDistance代理的位置和当前路径上的目标之间的距离。(只读)
speed遵循路径时的最大移动速度。
steeringTarget获取路径中的当前转向目标。(只读)
stoppingDistance在距目标位置的这一距离内停止。
updatePosition获取或设置变换位置是否与模拟的代理位置同步。默认值为 true。
updateRotation代理是否应该更新变换方向?
updateUpAxis您可以用来指定代理是否应与导航网格的向上轴或者它所在的链接对齐。
velocity获取 NavMeshAgent 组件的当前速度,或者设置一个速度来手动控制代理。

公共函数

ActivateCurrentOffMeshLink启用或禁用当前的网格外链接。
CalculatePath计算到指定点的路径并存储生成的路径。
CompleteOffMeshLink完成在当前 OffMeshLink 上的移动。
FindClosestEdge找到最近的导航网格边缘。
GetAreaCost获取在跨越特定类型的区域时的路径计算成本。
Move将相对移动应用于当前位置。
Raycast在导航网格中跟踪一条直线路径到达目标位置,而无需移动代理。
ResetPath清除当前路径。
SamplePathPosition沿着当前路径对某一位置进行取样。
SetAreaCost设置遍历此类型区域的成本。
SetDestination设置或更新目标,从而触发新路径计算。
SetPath为此代理分配一条新路径。
Warp将代理调整至指定的位置。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponentReturns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children. Works recursively.
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceIDGets the instance ID of the object.
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。