Четверг, 28 Марта 2024, 20:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Particle system для мобилок. Unity3D (Как оптимизировать систему частиц.)
Particle system для мобилок. Unity3D
killing002Дата: Пятница, 01 Марта 2019, 20:56 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Всем хай.

В гугле искал какую либо инфу насчет системы частиц под мобильники, но ничего путного не нашел. Где то слышал, что обычные системы частиц грузят телефоны. Мне бы какую-нибудь инфу по этой теме. Под типу: как оптимизировать ps(parcticle system) .. и тд. Заранее спасибо.


123
ArtemSДата: Суббота, 02 Марта 2019, 11:54 | Сообщение # 2
почетный гость
Сейчас нет на сайте
насколько знаю она там используется, но без особых изысков. точных цифр не скажу. Какие-нибудь фаерболы , искры потянет

хуяк, хуяк и в продакшн
drcrackДата: Суббота, 02 Марта 2019, 16:08 | Сообщение # 3
старожил
Сейчас нет на сайте
кроме очевидного (использовать минимально возможное количество частиц) нужно избегать пустых пикселей которые обычно образуются по краям и в углах квадратного меша с текстурами типо дыма или взрыва, особенно в атласах-анимациях взрывов в первых строчках когда он только начинает расти

если непонятно — нарисую пример :D
ArtemSДата: Суббота, 02 Марта 2019, 17:41 | Сообщение # 4
почетный гость
Сейчас нет на сайте
drcrack, типа если он не геометрически верно начинает расширяться, то движок подрисовывает сам пиксели и это жрет ресурсы. наподобии когда пиксель-арт начинаешь вертеть ? а как этого избежать ?

хуяк, хуяк и в продакшн
drcrackДата: Суббота, 02 Марта 2019, 18:02 | Сообщение # 5
старожил
Сейчас нет на сайте
предположим есть вот такая текстура:

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

поэтому

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

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

3. обязательно при возможности делать меши по форме частиц, т.е. обрезать углы где ничего нет
очевидно что лучше иметь 10 треугольников вместо 2, зато обрабатывать на 100-200 пикселей меньше, и это только на маленькую 1 частицу!
т.е. если например у тебя почти круглый дым, то надо использовать пяти- или шестиугольники а не квадраты и тд

PS еще кстати можно рендерить частицы в уменьшенном разрешении и потом растягивать на экран
хотя это не всегда возможно, погугли off screen particles


Сообщение отредактировал drcrack - Суббота, 02 Марта 2019, 18:05
killing002Дата: Воскресенье, 03 Марта 2019, 01:31 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Теория это конечно хорошо. Но давайте по факту, разберем на практике. При сближении с системой частиц, возникают скачки.



Система частиц выглядит так.(Это 3 системы частиц в иерархии, у всех одинаковые материалы)



Шейдер использую mobile/particle/additive. Вот параметры первой системы. Параметры второй и третьей примерно такие же.



Теперь вопрос, что нужно сделать, чтоб минимизировать эти скачки.


123

Сообщение отредактировал killing002 - Воскресенье, 03 Марта 2019, 01:38
drcrackДата: Воскресенье, 03 Марта 2019, 04:10 | Сообщение # 7
старожил
Сейчас нет на сайте
А покажи что именно занимает 50мс
killing002Дата: Воскресенье, 03 Марта 2019, 11:05 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Так, тупанул, щас покажу профайлер нормально.



123
drcrackДата: Воскресенье, 03 Марта 2019, 11:30 | Сообщение # 9
старожил
Сейчас нет на сайте
понятно, просто в видюху все упирается

на скрине где частицы, большой квадрат это меш такого размера? в таком случае тебе стоит перечитать мой пост )) все 3 совета в твоем случае актуальны
killing002Дата: Воскресенье, 03 Марта 2019, 13:03 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Я понаблюдал за профайлером и заметил, что эти скачки возникают именно в тот момент, когда камера проходит через эту партикл систему. С чем это может быть связано?

Добавлено (03 Марта 2019, 14:26)
---------------------------------------------
Перечитал ваш пост. Уменьшил размер меша, полностью убрал прозрачность. Скачки исчезли. Благодарю


123

Сообщение отредактировал killing002 - Воскресенье, 03 Марта 2019, 14:26
ArtemSДата: Вторник, 05 Марта 2019, 04:26 | Сообщение # 11
почетный гость
Сейчас нет на сайте
ы

как удалить сообщение ?)


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Вторник, 05 Марта 2019, 04:28
drcrackДата: Вторник, 05 Марта 2019, 10:41 | Сообщение # 12
старожил
Сейчас нет на сайте
удалить нельзя, можно отредактировать, но получишь как минимум предупреждение от модера, а может админ, если будет в плохом настроении, забанит на недельку :D
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Particle system для мобилок. Unity3D (Как оптимизировать систему частиц.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг