Unity物理学如何获取作用在对象上的力矢量

问题描述

我正在使用addForce在Unity C#中移动车辆。前向运动是由发动机部件产生的,而转向运动是由转向部件产生的。 物体朝正确的方向移动,但是我在使其面向行进方向时遇到问题。 Transform.LookAt希望方向看。 除了自己计算之外,还有什么方法可以检索物理引擎计算出的合力矢量?

解决方法

您可以将速度存储为矢量或3个浮点数。但是除非您有已存储的作用力,否则无法直接存储所施加的作用力。

使用以下代码存储速度:

     float velX = rb.velocity.x;
     float velY = rb.velocity.y;
     float velZ = rb.velocity.z;
     //this will store all velocities at the time of running the code.

或将其存储为Vector3:

     Vector3 velocities = rb.velocity;

注意应该将刚性主体定义为rb,否则您需要将代码中的刚性体名称更改为您拥有的名称。