1 / 1 / 0
Регистрация: 19.09.2017
Сообщений: 17
1

Управление большим количеством rigidbody2D [C#]

19.09.2017, 15:39. Показов 617. Ответов 0

Author24 — интернет-сервис помощи студентам
В сцене присутствует до 300 объектов rigidbody2D. Управление каждым из объектов осуществляется с помощью вычисления координат точек ближайшего пути до цели (ассет NavMesh2D) и создания вектора скорости до ближайшей точки каждый FixedUpdate() rb.velocity = new Vector2([ближайшая точка]);
Естественно я столкнулся с большими проблемами в производительности из-за:
1) Вычисление точек пути. Когда это происходит для 300 объектов одновременно (всем объектам отдана команда следовать куда-либо). Вроде как успешно решается при помощи корутины, которая распределяет вычисления по времени.
2) Если приказать всем следовать в одну точку начинается толкотня объектов и из-за обработки огромного кол-ва столкновений производительность падает.
3) Вектор скорости rb.velocity = new Vector2([ближайшая точка]); для каждого объекта задается каждый FixedUpdate(), что вероятно тоже влияет на производительность, но если постоянно не задавать вектор скорости то при попутном столкновении с другим динамическим объектом рассматриваемый объект промахнется мимо ближайшей точки пути -> следующая точа пути не будет задана, а вектор скорости перерасчитан не будет.

Во многих играх эти проблемы обошли или использовали какой-либо другой способ управления юнитами. Например Mount and blade или любая другая игра с массовыми сражениями.
Что тут можно предпринять?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2017, 15:39
Ответы с готовыми решениями:

Помогите! Управление большим количеством двигателей 12В
Добрый день, Сразу скажу спасибо всем кто откликнется, в электротехнике я человек не опытный и...

управление с помощью ШИМ вентиляторами большим количеством..
Итак управление вентиляторами... пошло это от большого моего проекта из за чего я и полез начинать...

Запрос к БД с большим количеством записей
Привет всем! Подскажите кто может, как уменьшить время запроса к базе mysql с 30 млн. записей? ...

QTableView с большим количеством ячеек
Собственно, тормозит, не пойму, почему. Пока тестировал 3-5 столбцов и 5-10 строк - все работало...

0
19.09.2017, 15:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2017, 15:39
Помогаю со студенческими работами здесь

График с большим количеством данных
Добрый день всем. Возникла задача - отобразить на графике большое количество данных - порядка 100...

Работа с большим количеством данных
Есть форма добавления нового рабочего, примерно 40 полей... Передаются они постом. Первые 10 я...

Select с большим количеством option
Добрый день. Есть select в нем порядка 400 option, они все берутся из БД и чем больше пользователи...

Работа с большим количеством pictureBox
Всем привет! Недавно начал изучать с# с windows forms, и вот возникла проблемка.. Есть поле из...

Форма с большим количеством компонентов
Visual Studio 2013. Framework 3.5. Есть форма, в которой есть определённое количество...

Эксперимент с большим количеством прогонов
Здравствуйте. У меня есть модель, построенная на дискретно-событийном моделировании, в общем я с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru