如题,怎么获得刚体某个轴向上的移动速度?我是指刚体本身的某个轴向上的移动速度,不是用rigidbody.velocity,这个好像是获取刚体的世界速度,当刚体反向移动时速度就变负的了,我是要刚体本身的轴向移动速度,比如飞机无论怎么转向它的速度都是正的,有没有大大知道写法或方法
Vector3 localVelocity = transform.InverseTransformDirection(rigidbody.velocity); ————————————————————
float speed = rigidbody.velocity.magnitude
magnitude
Returns the length of this vector你是想要这个么?
把vector3看成一个向量的话,magnitude就是它的模
————————————————————————
另外再追加一个问题,这个问题解决了就完美了,就是rigidbody.velocity.magnitude是刚体的总体速度,也就是向X,Y,Z任何方向移动都有速度,那如何只获取刚体其中一个方向上的速度?比如它朝Z轴移动就有速度获取,但朝X轴或Y轴移动就没有速度获取,这个能实现么?
————————————————
我试了下rigidbody.velocity.magnitude.z和rigidbody.velocity.z.magnitude都不行!
————————————
不是贴给你了么
把刚体世界速度向量转成刚体自身轴向速度向量的代码
其中的x y z就是3个轴向的速度了
——————————————
可是这样写不对呀,
打印Z轴上的速度print(transform.InverseTransformDirection(rigidbody.velocity.z));
这个打印Z轴上的速度该怎样写呢?
——————————————
转出来也是个Vector3啊
直接.x .y .z就行了
————————————————
print( transform.InverseTransformDirection(rigidbody.velocity).z);
ls说的是这样吧,其实感觉都一样
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。