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

steering

steering()是Yuka.js Vehicle类的一个方法,用于控制车辆的转向行为。它负责计算车辆的转向角度,以便车辆能够沿着预期的路径运行。

语法

steering()

返回值

该方法返回一个包含转向角度的向量。

示例

const vehicle = new Vehicle();
const steering = vehicle.steering();
vehicle.applySteering(steering);

实现原理

steering()方法通过调用Vehicle类的其他方法来计算转向角度。首先,它使用calculateVelocity()方法来计算车辆当前的速度向量。然后,它计算车辆的预期位置,这可以通过calculateFuturePosition()方法来完成。最后,它使用calculateSeek()calculateArrive()方法来计算车辆需要的转向角度。

calculateVelocity()

该方法根据车辆当前的速度和加速度,计算车辆新的速度向量。

calculateVelocity( delta )

参数

  • delta:类型为Number,表示模拟运行的时间间隔。

返回值

该方法返回一个表示车辆新的速度向量的三维向量。

calculateFuturePosition()

该方法预测车辆在未来某个时间点处的位置。

calculateFuturePosition( maxPredictionTime )

参数

  • maxPredictionTime:类型为Number,表示预测的最长时间间隔。

返回值

该方法返回一个表示车辆位置的三维向量。

calculateSeek()

该方法计算车辆需要的转向力,以便车辆按照预期路径从当前位置运动到目标位置。

calculateSeek( targetPosition )

参数

  • targetPosition:类型为Vector3,表示车辆的目标位置。

返回值

该方法返回一个表示车辆需要的转向角度的三维向量。

calculateArrive()

该方法计算当车辆接近目标时,需要逐渐减速,以避免过冲。

calculateArrive( targetPosition, slowingDistance )

参数

  • targetPosition:类型为Vector3,表示车辆的目标位置。
  • slowingDistance:类型为Number,表示车辆开始减速的距离。

返回值

该方法返回一个表示车辆需要的转向角度的三维向量。

Error Codes

  • TypeError:当传递的参数类型不正确时,抛出此错误。
  • RangeError:当传递的参数超出了有效范围时,抛出此错误。