steering()
是Yuka.js Vehicle类的一个方法,用于控制车辆的转向行为。它负责计算车辆的转向角度,以便车辆能够沿着预期的路径运行。
steering()
该方法返回一个包含转向角度的向量。
const vehicle = new Vehicle();
const steering = vehicle.steering();
vehicle.applySteering(steering);
steering()
方法通过调用Vehicle类的其他方法来计算转向角度。首先,它使用calculateVelocity()
方法来计算车辆当前的速度向量。然后,它计算车辆的预期位置,这可以通过calculateFuturePosition()
方法来完成。最后,它使用calculateSeek()
或calculateArrive()
方法来计算车辆需要的转向角度。
该方法根据车辆当前的速度和加速度,计算车辆新的速度向量。
calculateVelocity( delta )
delta
:类型为Number
,表示模拟运行的时间间隔。该方法返回一个表示车辆新的速度向量的三维向量。
该方法预测车辆在未来某个时间点处的位置。
calculateFuturePosition( maxPredictionTime )
maxPredictionTime
:类型为Number
,表示预测的最长时间间隔。该方法返回一个表示车辆位置的三维向量。
该方法计算车辆需要的转向力,以便车辆按照预期路径从当前位置运动到目标位置。
calculateSeek( targetPosition )
targetPosition
:类型为Vector3
,表示车辆的目标位置。该方法返回一个表示车辆需要的转向角度的三维向量。
该方法计算当车辆接近目标时,需要逐渐减速,以避免过冲。
calculateArrive( targetPosition, slowingDistance )
targetPosition
:类型为Vector3
,表示车辆的目标位置。slowingDistance
:类型为Number
,表示车辆开始减速的距离。该方法返回一个表示车辆需要的转向角度的三维向量。
TypeError
:当传递的参数类型不正确时,抛出此错误。RangeError
:当传递的参数超出了有效范围时,抛出此错误。