This function sets an entity's pathfinding navigation mode.
--Create a window
window = Window:Create()
context = Context:Create(window)
world = World:Create()
local camera = Camera:Create()
camera:SetRotation(35,0,0)
camera:Move(0,0,-8)
local light = DirectionalLight:Create()
light:SetRotation(35,35,0)
--Enable navmesh debugging
camera:SetDebugNavigationMode(true)
--Create the ground
local ground = Model:Box(10,1,10)
ground:SetPosition(0,-0.5,0)
ground:SetColor(0.0,0.25,0.0)
--Create a shape
local shape = Shape:Box(0,0,0, 0,0,0, 10,1,10)
ground:SetShape(shape)
shape:Release()
--Create a model
--This is an obstacle the player will walk around
entity = Model:Box(1,1,3)
entity:SetColor(0.0,0.0,1.0)
entity:SetPosition(0,5,0)
entity:SetMass(1)
--Create a shape
local shape = Shape:Box(0,0,0,0,0,0,1,1,3)
entity:SetShape(shape)
shape:Release()
--Enable navigation obstacles
ground:SetNavigationMode(true)
entity:SetNavigationMode(true)
--Create a character
player = Pivot:Create()
local visiblecapsule = Model:Cylinder(16,self.player)
visiblecapsule:SetScale(1,2,1)
visiblecapsule:SetPosition(0,1,0)
player:SetPosition(-4,0,0)
player:SetMass(1)
player:SetPhysicsMode(Entity.CharacterPhysics)
while true do
if window:Closed() or window:KeyHit(Key.Escape) then return false end
if (player) then player:GoToPoint(4,0,0,1.4,1) end
Time:Update()
world:Update()
world:Render()
context:SetBlendMode(Blend.Alpha)
context:DrawText("NavMode: ".. tostring(entity:GetNavigationMode()),2,2)
context:Sync()
end