AIBehaviors

from panda3d.ai import AIBehaviors
class AIBehaviors

Bases:

This class implements all the steering behaviors of the AI framework, such as seek, flee, pursue, evade, wander and flock. Each steering behavior has a weight which is used when more than one type of steering behavior is acting on the same ai character. The weight decides the contribution of each type of steering behavior. The AICharacter class has a handle to an object of this class and this allows to invoke the steering behaviors via the AICharacter. This class also provides functionality such as pausing, resuming and removing the AI behaviors of an AI character at anytime.

Inheritance diagram

Inheritance diagram of AIBehaviors

__init__(param0: AIBehaviors)
addDynamicObstacle(obstacle: panda3d.core.NodePath)

This function starts the pathfinding obstacle navigation for the passed in obstacle.

addStaticObstacle(obstacle: panda3d.core.NodePath)

This function allows the user to dynamically add obstacles to the game environment. The function will update the nodes within the bounding volume of the obstacle as non-traversable. Hence will not be considered by the pathfinding algorithm.

addToPath(pos: panda3d.core.LVecBase3)

This function adds positions to the path to follow.

arrival(distance: float)

This function activates arrival. This is the function we want the user to call for arrival to be done.

behaviorStatus(ai_type: str) str

This function returns the status of an AI Type whether it is active, paused or disabled. It returns -1 if an invalid string is passed.

evade(target_object: panda3d.core.NodePath, panic_distance: float, relax_distance: float, evade_wt: float)

This function activates evade_activate.

flee(pos: panda3d.core.LVecBase3, panic_distance: float, relax_distance: float, flee_wt: float)
flee(target_object: panda3d.core.NodePath, panic_distance: float, relax_distance: float, flee_wt: float)

This function activates flee_activate and creates an object of the Flee class. This function is overloaded to accept a NodePath or an LVecBase3.

flock(flock_wt: float)

This function activates flock. This is the function we want the user to call for flock to be done.

initPathFind(navmesh_filename: str)

This function activates path finding in the character. This function accepts the meshdata in .csv format.

obstacleAvoidance(feeler_length: float)

This function activates obstacle avoidance for a given character. This is the function we want the user to call for obstacle avoidance to be performed.

pathFindTo(pos: panda3d.core.LVecBase3, type: str)

This function checks for the source and target in the navigation mesh for its availability and then finds the best path via the A* algorithm Then it calls the path follower to make the object follow the path.

pathFindTo(target: panda3d.core.NodePath, type: str)

This function checks for the source and target in the navigation mesh for its availability and then finds the best path via the A* algorithm Then it calls the path follower to make the object follow the path.

pathFollow(follow_wt: float)

This function activates path following. This is the function we want the user to call for path following.

pauseAi(ai_type: str)

This function pauses individual or all the AIs.

pursue(target_object: panda3d.core.NodePath, pursue_wt: float)

This function activates pursue. This is the function we want the user to call for pursue to be done.

removeAi(ai_type: str)

This function removes individual or all the AIs.

resumeAi(ai_type: str)

This function resumes individual or all the AIs

seek(pos: panda3d.core.LVecBase3, seek_wt: float)
seek(target_object: panda3d.core.NodePath, seek_wt: float)

This function activates seek and makes an object of the Seek class. This is the function we want the user to call for seek to be done. This function is overloaded to accept a NodePath or an LVecBase3.

startFollow(type: str)
wander(wander_radius: float, flag: int, aoe: float, wander_weight: float)

This function activates wander. This is the function we want the user to call for flock to be done.