Движение большого количества объектов

Раздел, посвящённый самому важному - скорости.

Движение большого количества объектов

Сообщение jetyb 18 окт 2012, 08:27

Здравствуйте!

Мне надо реализовать движение в сцене большого количества объектов. Каждый объект является родителем группы объектов, пробатчить эту группу в один объект в общем-то и нельзя(разные шейдеры и текстуры, общее число полигонов больше оптимального). Двигающий объекты скрипт отнимает довольно много процессорного времени, причем большая часть ресурсов идет не на рассчет положения объектов, а на изменение их мировой матрицы.
Проблема в том, что эта матрица пересчитывается и для всех детей двигаемых объектов.

В голову приходят два решения:
1) Задать всем детям дефолтный transform, вычислять мировую матрицу для родителя и дальше просто копировать ее детям. Но непонятно как задавать эту матрицу, сам transform как я понял содержит только информацию для вычисления мировой матрицы.
2) Сделать один объект - мегамеш, с > 10К вершин с подмешами и материалами по количеству объектов. Непонятно, скажется ли большое количество вершин меши на производительности. И как быть с лодами? Базовые юнитевские лоды просчитывают матрицы и для отключенных объектов. Надо писать свои - решение мне кажется большим извращением.

Может у вас есть идеи?
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


cron