forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Оптимизация физики (http://forum.boolean.name/showthread.php?t=19514)

pax 10.11.2014 17:19

Оптимизация физики
 
Привет всем, помогите идеями, как можно сделать физику оптимально по производительности в играх на подобии робокрафта (где модели состоят из блоков и двигаются игроками в любом направлении, имеют колеса и другие физически активные части)?

Из рассмотренных идей было: 1) сгенерировать коллайдеры из примитивов объединяя их в параллелепипеды, занимающие объем ячеек, в которых есть геометрия; 2) делать выпуклую геометрию на основе вершин в гранях, но в этом случае столкновения будут не особо точными, особенно для сложной модели.

Есть какие-то еще идеи?

Nex 10.11.2014 18:49

Ответ: Оптимизация физики
 
Первый вариант хороший. Машинку можно сделать по типу майнкрафта. При повреждениях удалять детали и перестраивать mesh, коллайдер из примитивов (так кстати сделано в Space Engineers). Минус в том что возможно надо будет нормальный проц и немало оперативки.

pax 10.11.2014 19:35

Ответ: Оптимизация физики
 
Основная задача сделать оптимально физику на сервере. Поэтому хочется найти лучшее решение.

pax 10.11.2014 22:20

Ответ: Оптимизация физики
 
Немного поковырял робокрафт, алгоритм я не раскопал, но некоторые сведения получил:
Одиночные колоны стоят отдельно...


А если их соединить, то они объединяются...


Забавно собирает хвосты


Есть идеи, какие алгоритмы для этого используются?

Mr_F_ 10.11.2014 22:21

Ответ: Оптимизация физики
 
А как ты визуализировал физику в готовой игре?

pax 10.11.2014 22:30

Ответ: Оптимизация физики
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Mr_F_ 10.11.2014 22:58

Ответ: Оптимизация физики
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

cahekp 10.11.2014 23:18

Ответ: Оптимизация физики
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

pax 10.11.2014 23:21

Ответ: Оптимизация физики
 
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.



Помогите лучше с алгоритмом!

moka 10.11.2014 23:49

Ответ: Оптимизация физики
 
Вопрос "в сторону": полноценная физика и симуляция с точки зрения обязательна?
Что мешает считать физику на клиентах: несколько клиентов считают чужие физ объекты, шлют серверу, сервер сверяет данные, "доверяет" главному, использует двоих как подтверждение. Если кто-то расходится - принимаем небольшие меры, запоминаем этого "негодника" на будущее.

Таким образом у тебя физика будет считаться клиентами, а не сервером, на сервер меньше нагрузки. Анти-чит достигается за счет наличия числа клиентов на объект. Если клиент выходит, ответственность переноситься, и добовляется дополнительный вычислитель.

Очень схожая техника используется для мультиплеер стратегий с сотнями юнитов - серверу просто не потянуть объем данных. Клиенты сами считают часть данных и сервер лишь сверяет и валидирует если они схожи.

pax 10.11.2014 23:56

Ответ: Оптимизация физики
 
Ну в любом случае на сервере выстрелы считать. Физика на клиентах конечно более желательна в плане нагрузки на сервер.

UPD: Хочется сделать правильно. Точнее выбрать оптимальное решение. На клиентах тоже считать 24 игрока накладно, если не оптимизировать колайдеры.


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

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