如何获得与平台平行的方向矢量?

How can I get a direction vector that's parallel to platform?

我想把obj推到平台的边缘。 推力来自平台中心。 平台可以旋转或移动,所以它的旋转和位置是可以改变的。

所以我只需要一个与平台平行的方向向量,而不管对象和平台的位置和旋转如何。

如何获得这个方向向量? 请帮帮我..

猜测移动物体position离平面的高度,平面pos是已知的,所以找一些很酷的伪代码。 请记住,dotProduct 是一个向量在另一个方向上的投影,因此,要推动的对象在平面法线上的投影高度为:

Vector3 objHeightProyectedInPlaneNormal = Vector3.Dot((planePos - ObjPos), yourPlaneNormal);

绿色箭头显示 objHeightProyectedInPlaneNormal

该向量从平面原点向上的模数,或者更简单地说,该向量与平面位置的总和应该为您提供推动方向原点的位置:

Vector3 pushDirOrigin = planePos + objHeightProyectedInPlaneNormal

用绿色圆角 pushDirOrigin:

有了你的物体位置和推动原点,你就有了你的方向:

Vector3 pusDir = (ObjPos - pushOrigin).normalized