如何获得与平台平行的方向矢量?
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
我想把obj推到平台的边缘。 推力来自平台中心。 平台可以旋转或移动,所以它的旋转和位置是可以改变的。
所以我只需要一个与平台平行的方向向量,而不管对象和平台的位置和旋转如何。
如何获得这个方向向量? 请帮帮我..
猜测移动物体position离平面的高度,平面pos是已知的,所以找一些很酷的伪代码。 请记住,dotProduct 是一个向量在另一个方向上的投影,因此,要推动的对象在平面法线上的投影高度为:
Vector3 objHeightProyectedInPlaneNormal = Vector3.Dot((planePos - ObjPos), yourPlaneNormal);
绿色箭头显示 objHeightProyectedInPlaneNormal
:
该向量从平面原点向上的模数,或者更简单地说,该向量与平面位置的总和应该为您提供推动方向原点的位置:
Vector3 pushDirOrigin = planePos + objHeightProyectedInPlaneNormal
用绿色圆角 pushDirOrigin
:
有了你的物体位置和推动原点,你就有了你的方向:
Vector3 pusDir = (ObjPos - pushOrigin).normalized