AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

#leader

概述

OffsetPursuitBehavior是一种用于实现智能体的追踪逻辑的行为,leader是该行为中的一种角色,负责领导并引导其他智能体前往目标位置。leader配置项可以通过Yuka js库进行设置和修改。

配置项

以下是leader配置项:

属性 类型 描述
target Vector3 目标位置
radius Number 领导者的半径范围
alignTolerance Number 对齐时的最小角度差
positionTolerance Number 到达目标位置时的允许误差
leader Agent 当前实例的领导者

方法

以下是leader支持的可用方法:

constructor(leader, options)

构造函数,用于创建leader实例。参数leader是当前实例的领导者,options对象包含所有可配置的属性。

calculateLocalDesiredVelocity(agent, result)

计算当前智能体的期望速度,并将计算结果存入result中。

calculateNextAlignment(agent, result)

计算智能体下一次对齐时的期望速度,并将计算结果存入result中。

calculateNextPosition(agent, result)

计算智能体下一步到达目标位置的期望速度,并将计算结果存入result中。

setTarget(target)

设置leader的目标位置。

setRadius(radius)

设置leader的领导半径。

setAlignTolerance(alignTolerance)

设置leader对齐的最小角度差。

setPositionTolerance(positionTolerance)

设置leader到达目标位置时允许的误差。

getLeader()

获取当前leader实例的领导者。

示例

以下是leader的示例代码:

import { OffsetPursuitBehavior, Agent } from 'yuka';

const leader = new Agent();
const offsetPursuitBehavior = new OffsetPursuitBehavior( leader );

offsetPursuitBehavior.leader.setRadius( 2 );
offsetPursuitBehavior.leader.setTarget( new Vector3( 10, 0, 8 ) );
offsetPursuitBehavior.leader.setPositionTolerance( 1.5 );

const result = new Vector3();
const agent = new Agent();
offsetPursuitBehavior.calculateLocalDesiredVelocity( agent, result );

结论

leader是OffsetPursuitBehavior中的一种角色,负责引导其他智能体前往目标位置。leader配置项包含多种属性和方法,通过这些属性和方法可以对leader实例进行配置和操作。在实际使用中,可根据需求设置和修改leader实例的属性,从而实现对智能体的追踪和引导控制。