Поворотное соединение с коробкой box2d, колесо не вращается вокруг своей оси
Я пытаюсь использовать вращающиеся соединения на сервере 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);
И колесо начинает вращаться вокруг центра тела, но я хочу вращаться вокруг его собственного центра.
Это настройки кузова и руля:
'density' : 1.0 ,
'friction' : 0.0 ,
'restitution' : 0.2 ,
'linearDamping' : 0.0 ,
'angularDamping' : 0.0 ,
'gravityScale' : 1.0 ,
'type' : b2Body.b2_dynamicBody
Что я делаю неправильно? Или, может быть, я должен использовать другую реализацию box2d. Я использую box2d из: https://www.npmjs.com/package/box2dweb