有没有办法检查是否在物体上施加了力?

问题描述

我有一个可以沿任何方向动态移动的对象。我想以固定的速度沿设定方向拉动它,但前提是它不沿一般拉动方向移动(不一定平行)。换句话说,如果它向我靠近,我就不需要拉它。

我的问题是;有没有一种方法可以检查这个物体是否沿这个通常的拉动方向移动?

解决方法

如果施加“拉”力的方向与当前速度之间的点积大于1,则该速度沿拉力的方向进行。

Vector3 pullDirection;
Vector3 currentVelocity;

bool isMovingInPullDirection = Vector3.Dot(pullDirection,currentVelocity) > 0;