Какой метод оптимизации массовой анимации лучше?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Какой метод оптимизации массовой анимации лучше?

Сообщение Zimaell 23 фев 2023, 21:14

Я пытаюсь найти лучший способ запечь и использовать анимацию, в основном это будет использоваться для того чтобы при большом количестве анимированных нпс была хорошая производительность...
Но я уже заметил в разных статьях что есть разные способы, есть с использованием вершинных шейдеров, а есть и с помощью вычислительных, плюс ко всему примеров немного но тем не менее они отличаются.

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

Вопрос - какой метод подойдёт лучше для реализации моей задачи?
(я даже не прошу примеров, хоть какой метод лучше использовать для того чтобы я знал что именно мне нужно, изучение шейдеров довольно таки непростая задача)
(проект URP)
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Какой метод оптимизации массовой анимации лучше?

Сообщение Jarico 23 фев 2023, 21:31

Лучшая оптимизация это уменьшение количества ключей в клипе
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Какой метод оптимизации массовой анимации лучше?

Сообщение Zimaell 23 фев 2023, 22:00

Jarico писал(а):Лучшая оптимизация это уменьшение количества ключей в клипе

я и в моделе уменьшал детализацию, и в скелете уменьшал количество костей до минимума, убирал с модели все шейп кеи, количество костей до 1 уменьшал, оптимизацию объекта делал, в общем все эти мелочи подымают производительность ну максимум на 10%, с запеканием дела обстоят сразу со старта лучше, так чужие тесты юзал и 10к объектов на экране при 50-60 fps нормально, а у меня 1к уже под 10 fps при всех плясках...
Я конечно не знаю, может еще какие-то методы есть, но на данный момент то что я видел это вот запеченная анимация, или вертексная анимация, на шейдерах вершинных или вычислительных...
Осталось только конкретно нацелиться на какой-то метод, а то везде по чуть чуть кусать не айс, шейдеры довольно таки сложновато изучать, ну по крайней мере мне на данном этапе, так что нужно на чём-то конкретном остановиться...
а да еще с компрессией клипов игрался, там немного можно выиграть, но тоже по мелочи...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Какой метод оптимизации массовой анимации лучше?

Сообщение Jarico 23 фев 2023, 22:47

Может это как-то поможет?
https://blog.unity.com/technology/animation-c-jobs

Недавно тестил двигло на максимальное количество аниматоров на сцене (только видимых), в Generic при 400 аниматорах фпс был 50-60 (GTX 1650, i3 10100f), при Humanoid фпс просаживается уже на 5-ом аниматоре
Всё ещё зависит от количества привязанных к костям полигинов, на ECS из-за возможности гибридного рендеринга фпс вообще практически не меняется при большом количестве анимаций, даже при сложных
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Какой метод оптимизации массовой анимации лучше?

Сообщение Zimaell 23 фев 2023, 23:03

Jarico писал(а):на ECS из-за возможности гибридного рендеринга фпс вообще практически не меняется при большом количестве анимаций, даже при сложных

для меня это пока что неизведанная область,как-то хотел изучить но уже в самом начале меня начало бомбить от разных версий на разных редакторах, в общем нужно еще знать с какой стороны зайти чтобы не было по типу "кучу всего изучил а потом хоп... и... забудь то уже старьё, вот новая версия"...

но в общем вы имеете ввиду что можно углубиться в ECS и добиться нужного мне результата и не копаться сейчас с шейдерами?
хотя может и там затрагиваются, я не в курсе, но видел что много можно отправлять на вычисления в GPU через вычислительные шейдеры для увеличения производительности...
просто как я и говорил выше - мне бы на чём-то конкретном остановиться, а то способов что-то сделать много, но всё подряд изучать...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45


Вернуться в Почемучка

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

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