Я разрабатываю игру недавно (это должна быть игра космического корабля, такая как сборка). Итак, моя ситуация: - у меня есть 2 тела с 0 реституцией и 0 трением - когда они сталкиваются, они скользят и теряют скорость из-за моего линейного падения - но когда один из них вращается (с setangularvelocity), они отскакивают с очень высокой скоростью, и я не могу понять, почему они даже сильно подпрыгивают.Box2d странное поведение, когда 2 тела сталкиваются при вращении
(и я прочитал, что там должна быть просто немного подпрыгивая, даже если нет реституции, но я не ожидал что-то вроде этого)
Вот код:
b2PolygonShape shape;
b2BodyDef def;
def.type = b2_dynamicBody;
b2FixtureDef fix;
fix.density = 1.f;
fix.restitution = .0f;
fix.friction = 0.f;
bbody = world->CreateBody(&def);
bbody2 = world->CreateBody(&def);
bbody->SetLinearDamping(2.0f);
bbody2->SetLinearDamping(2.0f);
// PIXELPERMETER is the scaling from pixels to meter. (30)
shape.SetAsBox(32/PIXELPERMETER/*=30*/, 32/PIXELPERMETER);
fix.shape = &shape;
bbody->CreateFixture(&fix);
bbody2->CreateFixture(&fix);
bbody2->SetTransform(b2Vec2(-100/PIXELPERMETER, 0), 0);
хорошо, я буду стараться, спасибо за быстрый ответ. Редактировать: да, это было трюк! – Cobrapitz