1

我正在尝试在 node.js 服务器中使用旋转关节,但是我的轮子不是围绕自己的轴而是围绕身体转动。

这是我的代码:

var joint_def = new b2RevoluteJointDef();
       joint_def.Initialize(this.body , wheel, wheel.GetWorldCenter());

       //after enablemotor , setmotorspeed is used to make the joins rotate , remember!
       joint_def.enableMotor = true;
       joint_def.maxMotorTorque = 100000;

       //this will prevent spinning of wheels when hit by something strong
       joint_def.enableLimit = true;
       joint_def.lowerAngle =  -1 * max_steer_angle;
       joint_def.upperAngle =  max_steer_angle;
       this.joint = world.CreateJoint(joint_def);

然后当我按下按钮时,我像这样设置电机速度:

this.joint.SetMotorSpeed(10000);

车轮开始围绕身体中心旋转,但我想围绕它自己的中心旋转。

这是 body 和 wheel 的设置:

   'density' : 1.0 ,
    'friction' : 0.0 ,
    'restitution' : 0.2 ,
    'linearDamping' : 0.0 ,
    'angularDamping' : 0.0 ,
    'gravityScale' : 1.0 ,
    'type' : b2Body.b2_dynamicBody

我究竟做错了什么 ?或者也许我应该使用不同的 box2d 实现。我正在使用来自:https ://www.npmjs.com/package/box2dweb 的 box2d

4

0 回答 0