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

float BaseOffset get set

SVector DesiredVelocity get

SVector Destination get set

bool HasPath get

float Height get set

bool IsOnNavMesh get

bool IsPathStale get

SVector NextPosition get set

SVector PathEndPosition get

bool PathPending get

float Radius get set

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

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.