移动播放器时,我使用此代码进行播放器旋转。玩家应始终旋转到他将移动到的目标点。
private void SetPlayerRotation(Vector3 targetCellPosition)
{
Vector3 targetPoint = new Vector3(targetCellPosition.x, transform.position.y, targetCellPosition.z) - transform.position;
transform.rotation = Quaternion.LookRotation(targetPoint, Vector3.up); // rotate the player
}
有时控制台日志
看旋转查看矢量为零
我该如何解决这个问题?
如果向量为零,则正在记录该记录,则创建 if 语句将解决此问题。记录此内容背后的原因是当旋转矢量为 0 时什么都不会发生,因此执行此任务毫无意义。
if (targetPoint != Vector3.Zero) {
transform.rotation = Quaternion.LookRotation(targetPoint, Vector3.up);
}