Войти
ПрограммированиеФорумФизика

Проблемы с физикой шарика в ODE v0.7

#0
0:57, 17 сен. 2006

Написал простейшую реализацию движения шарика между box'ами, скачать: http://www.gamedev.ru/download/?id=4245
Весь мир состоит из кубов.

Проблема: Если сбросить шарик с одного из нижних выступов с определенной скоростью, он начинает вести себя не совсем естейственно. Шарик может вдруг остановиться либо отскочить в неправильном направлении.

Может быть такое происходит если шарик падает на границу двух кубов?
Как с этим бороться?


#1
1:14, 17 сен. 2006

Генерация контактов

const int N = 32;
dContact contact[N];
int n = dCollide(o1, o2, N, &(contact[0].geom), sizeof(dContact));
for(int i = 0; i < n; i++)
{
  contact[i].surface.slip1 = 0.7f;
  contact[i].surface.slip2 = 0.7f;
  contact[i].surface.mode = dContactApprox1 | dContactSlip1 | dContactSlip2 | dContactBounce;
  contact[i].surface.mu = 50.0f;
  contact[i].surface.bounce = 0.5f;
  contact[i].surface.bounce_vel = 1;
  dJointID c = dJointCreateContact(phys->world, phys->contactGroup, &contact[i]);
  dJointAttach(c, dGeomGetBody(contact[i].geom.g1), dGeomGetBody(contact[i].geom.g2));
}
#2
12:48, 17 сен. 2006

Для работы нужны либы 8-й студии?

ЗЫ slip выключи. трение уменьши. у нормальных тел оно редко больше пяти. поставь 1.

#3
16:40, 17 сен. 2006

>Для работы нужны либы 8-й студии?
Написано именно на 8-й. А что не запускается? У моего соседа пишет, что приложение не правильно настроено. Не знаю что ей нужно :-(.

#4
17:33, 17 сен. 2006

msvcrt8.dll ? Поставь в проекте RuntimeLibrary - без DLL (/MT или /ML)

ПрограммированиеФорумФизика

Тема в архиве.