Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 08.07.2010, 06:38   #1
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
синхронизация физики Bullet

Есть какой способ синхронизировать физику (чтобы скорость движения объектов не зависела от фпс)?
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 10:25   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: синхронизация физики Bullet

С этой физикой неработал, но обычно функция обновления физики принмает в качестве параметра или прошедшее с прошлого вызова время, или коэффициент замедления/ускорения.
__________________
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 10:28   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: синхронизация физики Bullet

Неужели они не реализовали это внутри движка?
Если не реализовали тогда нах такую физику вобще.
И это мегалол.
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 11:02   #4
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: синхронизация физики Bullet

Мегалол это Bullet к котому не удосужились хоть какую-то справку написать.
Однако, синхронизация есть. Только она не работает на уровне самого буллета (ложил он большой и толстый на получаемую дельту времени). Разбираться какова хера пока некогда.
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 13:35   #5
jimon
 
Сообщений: n/a
Ответ: синхронизация физики Bullet

Дык с чего там должна быть внутренняя синхронизация ? вызывать симуляцию каждый кадр это совсем не обязательное условие, к примеру на iphone прога вообще свернется и что физ. двиг будет делать ? правьте входящую дельту и включайте vsync
 
Ответить с цитированием
Старый 08.07.2010, 13:45   #6
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: синхронизация физики Bullet

Внутренняя синхронизация где? В Bullet ее нет (да ее ни в одном физ. движне нет), но при симулации он получает дельту времени рассчитанную пользователем, в нашем случае - движком. Однако, хоть что ему передавай, результат одинаковый и напрямую зависит от ФПС (я прям константы разные сидел вбивал один хер, что самое ужасное - быстрее 60 FPS по сорцам самого Bullet расчет идти не должен). Где проблема? А хер ее знает, надо рыть исходники глубже (а комментированием кода Эрвин занимался так же как и документацией - почти нету нифига).
В общем будет время, будем курить, сейчас есть занятия поважнее.
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 20:40   #7
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: синхронизация физики Bullet

Ясненько. Ну, надеюсь, решение всетаки найдется.
(Offline)
 
Ответить с цитированием
Старый 08.07.2010, 22:15   #8
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: синхронизация физики Bullet

Knightmare, ты об этом говорил: btDiscreteDynamicsWorld::stepSimulation(deltaTime) ;?
Наткнулся на форуме www.bulletphysics.org
(Offline)
 
Ответить с цитированием
Старый 09.07.2010, 06:23   #9
=MAK$=
Оператор ЭВМ
 
Аватар для =MAK$=
 
Регистрация: 18.05.2009
Адрес: РОССИЯ
Сообщений: 37
Написано 9 полезных сообщений
(для 30 пользователей)
Ответ: синхронизация физики Bullet

Мегалол это Bullet к котому не удосужились хоть какую-то справку написать.
А вот интересно , почему решили использовать bullet ? Почему не другой физ. двиг ?
__________________
(Offline)
 
Ответить с цитированием
Старый 09.07.2010, 08:53   #10
FDsagizi
Бывалый
 
Аватар для FDsagizi
 
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений
(для 509 пользователей)
Ответ: синхронизация физики Bullet

Сообщение от =MAK$= Посмотреть сообщение
А вот интересно , почему решили использовать 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 фпс!
__________________
Жизнь как говориться игра- делать игры моя профессия(с)

Программирование, это религия! Её нужно исповедовать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
strayhnd (09.07.2010)
Старый 10.07.2010, 01:12   #11
strayhnd
Оператор ЭВМ
 
Регистрация: 09.06.2010
Сообщений: 21
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: синхронизация физики Bullet

Ну тогда нужен xCaptureWorld (которого нет )
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com