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

root

在BVHNode类中,root是指树的根节点。在BVH(Bounding Volume Hierarchy,边界体层次探索)中,每一个节点都包含一个轴对齐的边界框(AABB,Axis-Aligned Bounding Box)。根节点的边界框包含所有场景物体,然后根据一定规则进行递归地划分,直到每个节点只包含单一物体。

在Yuka js库中,root是一个BVHNode实例,该实例表示场景中所有物体的根节点。可以使用BVH构建器(BVHBuilder)将场景中的物体添加到root节点上,然后进行递归划分,最终生成树形结构。

每个BVHNode实例都包含以下属性:

  • boundingBox:AABB对象,表示该节点的边界框。
  • leftright:分别表示该节点左子树和右子树的引用。如果该节点是叶节点,则这两个属性的值为null。
  • primitiveStartprimitiveCount:表示该节点代表的物体数组中的起始索引和数量。如果该节点是内部节点,则这两个属性的值为-1。

因此,root节点中包含的所有物体都是通过left和right属性进行递归划分得到的。

BVH树可以用于快速的光线追踪算法中,来提高渲染效率。在Yuka js库中,可以使用BVHTraversal实例执行ray tracing,以确定光线与场景中的物体的碰撞。