Quaternion rotation = Quaternion.FromToRotation(dirA, dirB); return rotation * originalPoint; 通常使用上面方式来将一个点从方向A移动到方向B,但是如果方向A和方向B平行相反时(比如(0,0,1)->(0,0,-1))上面的计算会有问题,此时我们需要指定旋转轴,然后旋转180度,比如 Quaternion rotation = Quaternion.AngleAxis(180f, Vector3.up); return…