forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   синхронизация физики Bullet (http://forum.boolean.name/showthread.php?t=12853)

strayhnd 08.07.2010 06:38

синхронизация физики Bullet
 
Есть какой способ синхронизировать физику (чтобы скорость движения объектов не зависела от фпс)?

SBJoker 08.07.2010 10:25

Ответ: синхронизация физики Bullet
 
С этой физикой неработал, но обычно функция обновления физики принмает в качестве параметра или прошедшее с прошлого вызова время, или коэффициент замедления/ускорения.

Randomize 08.07.2010 10:28

Ответ: синхронизация физики Bullet
 
Неужели они не реализовали это внутри движка?
Если не реализовали тогда нах такую физику вобще.
И это мегалол.

Knightmare 08.07.2010 11:02

Ответ: синхронизация физики Bullet
 
Мегалол это Bullet к котому не удосужились хоть какую-то справку написать.
Однако, синхронизация есть. Только она не работает на уровне самого буллета (ложил он большой и толстый на получаемую дельту времени). Разбираться какова хера пока некогда.

jimon 08.07.2010 13:35

Ответ: синхронизация физики Bullet
 
Дык с чего там должна быть внутренняя синхронизация ? вызывать симуляцию каждый кадр это совсем не обязательное условие, к примеру на iphone прога вообще свернется и что физ. двиг будет делать ? правьте входящую дельту и включайте vsync

Knightmare 08.07.2010 13:45

Ответ: синхронизация физики Bullet
 
Внутренняя синхронизация где? В Bullet ее нет (да ее ни в одном физ. движне нет), но при симулации он получает дельту времени рассчитанную пользователем, в нашем случае - движком. Однако, хоть что ему передавай, результат одинаковый и напрямую зависит от ФПС (я прям константы разные сидел вбивал один хер, что самое ужасное - быстрее 60 FPS по сорцам самого Bullet расчет идти не должен). Где проблема? А хер ее знает, надо рыть исходники глубже (а комментированием кода Эрвин занимался так же как и документацией - почти нету нифига).
В общем будет время, будем курить, сейчас есть занятия поважнее.

strayhnd 08.07.2010 20:40

Ответ: синхронизация физики Bullet
 
Ясненько. Ну, надеюсь, решение всетаки найдется.

strayhnd 08.07.2010 22:15

Ответ: синхронизация физики Bullet
 
Knightmare, ты об этом говорил: btDiscreteDynamicsWorld::stepSimulation(deltaTime) ;?
Наткнулся на форуме www.bulletphysics.org

=MAK$= 09.07.2010 06:23

Ответ: синхронизация физики Bullet
 
Цитата:

Мегалол это Bullet к котому не удосужились хоть какую-то справку написать.
А вот интересно , почему решили использовать bullet ? Почему не другой физ. двиг ?

FDsagizi 09.07.2010 08:53

Ответ: синхронизация физики Bullet
 
Цитата:

Сообщение от =MAK$= (Сообщение 153765)
А вот интересно , почему решили использовать bullet ? Почему не другой физ. двиг ?

Кросс плотформа, сурсы, хорош понятен - развивается... И вроде как юзали его в ГТА 4 ( для симуляции общей физики - т.е. не людей )

В Astana Racer - e тоже булет, и юзаеться давно известная фича с прогоном логики( гдет есть статья от джокера )...

От меня же код!

Цитата:

// Глобально
int FPS = 35;
float period =1000.0/ FPS;
int elapsed=0;
int Ticks=0;
float tween=0;
int Time=0;


// В обновлении
while (true) {
elapsed = MilliSecs() - Time;
if (elapsed)
break;
}
Ticks = elapsed / period;
if (Ticks > 5)
Ticks = 4;

for (int k = 0; k < Ticks; k++) {
Time = Time + period;
//-Тут крутим логику и физику
}

///Сдесь рендер...

ЗЫ\ С таким такой штукой, игра продолжает быть играбельной при 13 фпс!

strayhnd 10.07.2010 01:12

Ответ: синхронизация физики Bullet
 
Ну тогда нужен xCaptureWorld (которого нет :()


Часовой пояс GMT +4, время: 03:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot