|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
10.11.2014, 17:19
|
#1
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Оптимизация физики
Привет всем, помогите идеями, как можно сделать физику оптимально по производительности в играх на подобии робокрафта (где модели состоят из блоков и двигаются игроками в любом направлении, имеют колеса и другие физически активные части)?
Из рассмотренных идей было: 1) сгенерировать коллайдеры из примитивов объединяя их в параллелепипеды, занимающие объем ячеек, в которых есть геометрия; 2) делать выпуклую геометрию на основе вершин в гранях, но в этом случае столкновения будут не особо точными, особенно для сложной модели.
Есть какие-то еще идеи?
|
(Offline)
|
|
10.11.2014, 18:49
|
#2
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Оптимизация физики
Первый вариант хороший. Машинку можно сделать по типу майнкрафта. При повреждениях удалять детали и перестраивать mesh, коллайдер из примитивов (так кстати сделано в Space Engineers). Минус в том что возможно надо будет нормальный проц и немало оперативки.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.11.2014, 19:35
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Оптимизация физики
Основная задача сделать оптимально физику на сервере. Поэтому хочется найти лучшее решение.
|
(Offline)
|
|
10.11.2014, 22:20
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Оптимизация физики
Немного поковырял робокрафт, алгоритм я не раскопал, но некоторые сведения получил:
Одиночные колоны стоят отдельно...
А если их соединить, то они объединяются...
Забавно собирает хвосты
Есть идеи, какие алгоритмы для этого используются?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.11.2014, 22:21
|
#5
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Оптимизация физики
А как ты визуализировал физику в готовой игре?
|
(Offline)
|
|
10.11.2014, 22:30
|
#6
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Оптимизация физики
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
10.11.2014, 22:58
|
#7
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Оптимизация физики
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
|
(Offline)
|
|
10.11.2014, 23:18
|
#8
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: Оптимизация физики
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо cahekp за это полезное сообщение:
|
|
10.11.2014, 23:21
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Оптимизация физики
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.
|
Помогите лучше с алгоритмом!
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
10.11.2014, 23:49
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Оптимизация физики
Вопрос "в сторону": полноценная физика и симуляция с точки зрения обязательна?
Что мешает считать физику на клиентах: несколько клиентов считают чужие физ объекты, шлют серверу, сервер сверяет данные, "доверяет" главному, использует двоих как подтверждение. Если кто-то расходится - принимаем небольшие меры, запоминаем этого "негодника" на будущее.
Таким образом у тебя физика будет считаться клиентами, а не сервером, на сервер меньше нагрузки. Анти-чит достигается за счет наличия числа клиентов на объект. Если клиент выходит, ответственность переноситься, и добовляется дополнительный вычислитель.
Очень схожая техника используется для мультиплеер стратегий с сотнями юнитов - серверу просто не потянуть объем данных. Клиенты сами считают часть данных и сервер лишь сверяет и валидирует если они схожи.
|
(Offline)
|
|
10.11.2014, 23:56
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Оптимизация физики
Ну в любом случае на сервере выстрелы считать. Физика на клиентах конечно более желательна в плане нагрузки на сервер.
UPD: Хочется сделать правильно. Точнее выбрать оптимальное решение. На клиентах тоже считать 24 игрока накладно, если не оптимизировать колайдеры.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:33.
|