Skip to main content

SNavMeshAgent

Index

Functions Index

Function Name
float GetAreaCost (int areaIndex)
void Move (SVector movement)
void Resume ()
void SetAreaCost (int areaIndex, float cost)
void Stop ()
void SetDestination (SVector position)
void Warp (SVector position)

Properties Index

Property Name
bool Enabled get set
float Accelleration get set
float AngularSpeed get set
int AreaMask get set
bool AutoRepath get set
bool AutoBraking get set
bool AutoTraverseOffMeshLink get set
int AvoidancePriority get set
float BaseOffset get set
SVector DesiredVelocity get
SVector Destination get set
bool HasPath get
float Height get set
bool IsOnNavMesh get
bool IsOnOffMeshLink get
bool IsPathStale get
SVector NextPosition get set
SVector PathEndPosition get
bool PathPending get
float Radius get set
float RemainingDistance get
float Speed get set
SVector SteeringTarget get
float StoppingDistance get set
bool UpdatePosition get set
bool UpdateRotation get set
SVector Velocity get
SGameObject GameObject get

Functions

GetAreaCost

float GetAreaCost (int areaIndex)

Function Description

ParameterTypeDescription
floatCost = Space.Host.ExecutingObject.NavMeshAgent.GetAreaCost(1)

Move

void Move (SVector movement)

Apply relative movement to current position.

ParameterTypeDescription
Space.Host.ExecutingObject.NavMeshAgent.Move(Vector.New(2,0,0))

Resume

void Resume ()

Resume the NavMesh agent.

Space.Host.ExecutingObject.NavMeshAgent.Resume()
agentobject = Space.Scene.Find("Cube")
agent = agentobject.NavMeshAgent
if agent == nil then
agent = Space.Scene.Find("Cube").AddNavMeshAgent()
end
counts = 0
--stop first, then resume.
function StopAndResume()
counts = counts +1
if counts > 10 then
agent.Stop()
end
if counts > 50 then
agent.Resume()
end
end
agentobject.SubscribeToEvents()
agentobject.OnUpdate(StopAndResume)
agent.Destination = Space.Scene.Find("TargetTransform").WorldPosition
--set destination.

SetAreaCost

void SetAreaCost (int areaIndex, float cost)

Sets the cost for traversing over areas of the area type.

ParameterTypeDescription
Space.Host.ExecutingObject.NavMeshAgent.SetAreaCost(1, 10.0)

Stop

void Stop ()

To stop the NavMesh agent.

Space.Host.ExecutingObject.NavMeshAgent.Stop()

SetDestination

void SetDestination (SVector position)

Set or update the destination.

ParameterTypeDescription
Space.Host.ExecutingObject.NavMeshAgent.SetDestination(Vector.New(10,0,0))

Warp

void Warp (SVector position)

Warp to the position you want, also you can set agent's world position and vector to make this act as Move(SVector position).

ParameterTypeDescription
Space.Host.ExecutingObject.NavMeshAgent.Warp(Vector.New(10,0,0))

Properties

Enabled

bool Enabled get set

Enable or disable this component.

Space.Host.ExecutingObject.NavMeshAgent.Enabled = false
--clicking this object will Enable/Disable it's Nav Mesh Agent component
thisGameObject = Space.Host.ExecutingObject
component = thisGameObject.NavMeshAgent

OnClick = function()
component.Enabled = not component.Enabled
end


thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)

Accelleration

float Accelleration get set

The maximum acceleration of an agent as it follows a path.

Space.Host.ExecutingObject.NavMeshAgent.Accelleration = 60

AngularSpeed

float AngularSpeed get set

Maximum turning speed in while following a path.

Space.Host.ExecutingObject.NavMeshAgent.AngularSpeed = 60

AreaMask

int AreaMask get set

Specifies which NavMesh area is passable.

Space.Host.ExecutingObject.NavMeshAgent.AreaMask = 3

AutoRepath

bool AutoRepath get set

Set the agent attempt to acquire a new path if the existing path becomes invalid.

Space.Host.ExecutingObject.NavMeshAgent.AutoRepath = false

AutoBraking

bool AutoBraking get set

Set the agent brake automatically to avoid overshooting the destination point.

Space.Host.ExecutingObject.NavMeshAgent.AutoBraking = false

bool AutoTraverseOffMeshLink get set

Set the agent move across OffMeshLinks automatically.

Space.Host.ExecutingObject.NavMeshAgent.AutoTraverseOffMeshLink = false

AvoidancePriority

int AvoidancePriority get set

The avoidance priority level.

Space.Host.ExecutingObject.NavMeshAgent.AvoidancePriority = 10

BaseOffset

float BaseOffset get set

The relative vertical displacement of the GameObject.

Space.Host.ExecutingObject.NavMeshAgent.BaseOffset = 3

DesiredVelocity

SVector DesiredVelocity get

The desired velocity of the agent including any potential contribution from avoidance.

vectorVelocity = Space.Host.ExecutingObject.NavMeshAgent.DesiredVelocity

Destination

SVector Destination get set

The desired velocity of the agent including any potential contribution from avoidance.

Space.Host.ExecutingObject.NavMeshAgent.Destination = Vector.New(10,0,0)

HasPath

bool HasPath get

Does the agent currently have a path?

hasPath = Space.Host.ExecutingObject.NavMeshAgent.HasPath

Height

float Height get set

The height of the agent for purposes of passing under obstacles, etc.

Space.Host.ExecutingObject.NavMeshAgent.Height = 5

IsOnNavMesh

bool IsOnNavMesh get

Is the agent currently bound to the navmesh?

isOn = Space.Host.ExecutingObject.NavMeshAgent.IsOnNavMesh

bool IsOnOffMeshLink get

Is the agent currently positioned on an OffMeshLink?

isOnOff = Space.Host.ExecutingObject.NavMeshAgent.IsOnOffMeshLink

IsPathStale

bool IsPathStale get

Is the current path stale?

isStale = Space.Host.ExecutingObject.NavMeshAgent.IsPathStale

NextPosition

SVector NextPosition get set

Get or set the simulation position of the navmesh agent.

Space.Host.ExecutingObject.NavMeshAgent.NextPosition = Vector.New(10, 0, 0)

PathEndPosition

SVector PathEndPosition get

End positon of navigation.

vectorPathEndPos = Space.Host.ExecutingObject.NavMeshAgent.PathEndPosition

PathPending

bool PathPending get

Is a path in the process of being computed but not yet ready?

isPending = Space.Host.ExecutingObject.NavMeshAgent.PathPending

Radius

float Radius get set

The avoidance radius for the agent.

Space.Host.ExecutingObject.NavMeshAgent.Radius = 5

RemainingDistance

float RemainingDistance get

The distance between the agent's position and the destination on the current path.

vectorDist = Space.Host.ExecutingObject.NavMeshAgent.RemainingDistance

Speed

float Speed get set

Maximum movement speed when following a path.

Space.Host.ExecutingObject.NavMeshAgent.Speed = 20

SteeringTarget

SVector SteeringTarget get

Get the current steering target along the path.

vectorSteeringTarget = Space.Host.ExecutingObject.NavMeshAgent.SteeringTarget

StoppingDistance

float StoppingDistance get set

Stop within this distance from the target position.

Space.Host.ExecutingObject.NavMeshAgent.StoppingDistance = 2

UpdatePosition

bool UpdatePosition get set

Get or set whether the transform position is synchronized with the simulated agent position.

Space.Host.ExecutingObject.NavMeshAgent.UpdatePosition = true

UpdateRotation

bool UpdateRotation get set

Should the agent update the transform orientation?

Space.Host.ExecutingObject.NavMeshAgent.UpdateRotation = true

Velocity

SVector Velocity get

access the current velocity of the NavMeshAgent component, or set a velocity to control the agent manually.

vectorVelocity = Space.Host.ExecutingObject.NavMeshAgent.Velocity

GameObject

SGameObject GameObject get

Property Description

theGameObject = Space.Host.ExecutingObject.NavMeshAgent.GameObject