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

neighbors

neighbors()方法是Yuka.js库的Vehicle类中的一个成员方法,用于获取与当前车辆在给定距离和角度内相邻的其他车辆列表。

语法

neighbors( distance, angle )

参数

  • distance: Number类型,表示相邻车辆与当前车辆的最近距离,单位为米。
  • angle: Number类型,表示相邻车辆的方向与当前车辆朝向的夹角,单位为弧度。

返回值

返回一个由相邻车辆实例组成的数组。

示例

以下示例展示了如何使用neighbors()方法查找与当前车辆在一定距离内的其他车辆。

import { Vehicle } from 'yuka';

// 初始化3辆车,初始位置分别为(0,0), (10,0), (20,0)
const vehicle1 = new Vehicle().setPosition(0, 0);
const vehicle2 = new Vehicle().setPosition(10, 0);
const vehicle3 = new Vehicle().setPosition(20, 0);

// 设置vehicle1的朝向和速度
vehicle1.setMaxSpeed(10).setOrientation(0, 1);

// 计算与vehicle1在10米距离、方向与车头方向偏差15度内的相邻车辆
const neighbors = vehicle1.neighbors(10, 0.26);

// 输出邻居车辆的位置信息
console.log(neighbors.map(vehicle => vehicle.position.toArray())); 
// 输出: [ [ 10, 0 ], [ 20, 0 ] ]

该示例中,在初始化了三辆车后,对车辆1调用neighbors()方法查找与其在10米距离、方向偏差15度内的车辆。由于车辆2、3与车辆1之间距离不超过10米,位于车辆1的方向向左侧15度以内,所以它们被成功地检测为车辆1的相邻车辆。最后,neighbors()方法返回由车辆2、3组成的数组,并输出了邻居车辆的位置信息。