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

Rotation

在OBB(Oriented Bounding Box)中,rotation(旋转)指的是改变盒子的方向和朝向。旋转可以通过一个四元数(quaternion)来表示,四元数包括一个实数和三个虚数,用来描述旋转矩阵的方向。

方法

setFromQuaternion(quaternion)

设置盒子的旋转矩阵,输入参数为四元数。

obb.rotation.setFromQuaternion(quaternion);

setFromEuler(euler)

设置盒子旋转矩阵,输入参数为欧拉角(Euler angles)。欧拉角可以通过三个角度来描述旋转矩阵的方向,分别是绕x轴的角度、绕y轴的角度和绕z轴的角度。本方法会将欧拉角转换为对应的四元数。

obb.rotation.setFromEuler(euler);

lookAt(direction)

使盒子朝向一个方向,即将盒子的方向矩阵设置为朝向该方向的旋转矩阵。

obb.rotation.lookAt(direction);

属性

quaternion

表示盒子旋转矩阵的四元数。

obb.rotation.quaternion;

xyz

表示欧拉角的三个角度,分别对应盒子绕x轴、y轴、z轴的旋转角度。这些角度的值为弧度制,可以通过将其转换成角度制来获取角度值。

obb.rotation.x; // x轴的旋转角度
obb.rotation.y; // y轴的旋转角度
obb.rotation.z; // z轴的旋转角度