Box2D
GameDev.ru / Сообщества / Box2D / Форум / Смена ориентации сложного тела. Движение вправо и влево

Смена ориентации сложного тела. Движение вправо и влево

Поделиться
NSXПользовательwww14 окт. 201717:44#0
Как вы меняете тела в зависимости от направления движения??

car1 | Смена ориентации сложного тела. Движение вправо и влево

сфк2 | Смена ориентации сложного тела. Движение вправо и влево


Как я понимаю есть такие варианты:
1) Берем инфу с тела (скорости координаты и тп), удаляем тело, подгружаем альтернативное тело задаем ему инфу.. - на слабых компах игра замирает на время смены ориентации обьекта
2) Создаем оба тела одновременно но альтернативное будет неактивным, затем их меняем местами...  Они все время вместе друг за другом.
3) Перекидывать из мира в буферный мир и обратно.

Как вы решили эту проблему? Или бокс2д умеет делать FLip всех вершин?

NSXПользовательwww14 окт. 201719:15#1
еще можно пересоздать фикстуры (по шейпам) и джойны (пересчитав) но будет ли это быстрее создания тел, по сути это одно и тоже а может даже дольше.
AlerrПостоялецwww14 окт. 201719:44#2
NSX
Не понял про буфферный мир.
На компе вроде как вариант (1) должен прокатывать (хотя все же зависит от того сколько всего нужно создать).
Если меняешь персонажа, то как правило персонаж представляет из себя выпуклую фигуру, так что там даже не нужно создавать какие-то сложные фикстуры.
Если хочешь менять фикстуры машин (окружения мира), то наверно лучше создать копию и активировать ее в нужное время.
Во всяком случае на телефонах я бы начал с создании копий так как выделение/удаление памяти у меня вызывало тормоза.
NSXПользовательwww14 окт. 201719:58#3
Alerr
Буферный мир - закидывать в него правую сторону, вытаскивать левую, и наоборот.
при смене направления даже 4 машин со скриншота уже лагает (это если из файла или кода пересоздавать все тело и удалять старое).
мне кажется реально оптимальный вариант 2 тела в одних координатах, второе полностью неактивно, и менять их местами (активность)

Правка: 14 окт. 2017 19:59

AlerrПостоялецwww16 окт. 201715:01#4
NSX
Извиняюсь за долгий ответ. На компе это не должно быть существенно. А на телефоне да, лучше менять активность.

/ Форум / Box2D / Общее

2001—2017 © GameDev.ru — Разработка игр