Home - Forums - Documentation - Gallery - Bugs

CEL AI Navigation

Introduction

celNavigationTools it's part of celtool that makes a bunch of useful operations for navigation.

You need to choose Navigator - entity with pcmesh and tracked Target - vector, other entity or map mode.

Then information is returned to celNavigationInfo or choosed variables in blxml:

  • bool success - if everything is ok, entity exists, target exist etc.
  • bool visible - if target is visible
  • float distance - distance between navigator and target
  • vector3 angle - angle between navigator and target (note it's angle between point-point in worldspace, it omits direction vectors)

Simplest case : quite dumb car

  • Determine track by placing nodes on the map. Name that objects for example "node1" "node2" etc. Usualy the best way to do this is making spline/bezier and automatically duplicate nodes on this.
  • Make in your level loader creating trigger for every node.
  • In every AI loop step (1/10s for example) set Navigator to car entity, and target to map node "node"+current_node_nr. This number should be increased after reaching node trigger.
  • Now check what celNavigationInfo says. If distance is far than car can move fast.
| Article | Discussion | View source | History |