Советы по работе с системой частиц
Вы можете использовать системы частиц для моделирвания природных явлений, таких как дым,
пламя, плазма, искры, фонтаны, реактивные эффекты и т.д. Так же можено изобрести искусственные
явления - такие как "магия". Вот несколько советов, как использовать системы частиц в играх:
-
Максимальное число частиц одновременно отображаемое на экране в одной системе равно500.
Если это число превышено, новые частицы не будут созадваться, пока не исчезнет хотя бы одна старая.
-
Старайтесь достичь требуемого эффекта, используя минимум частиц, с нименьшими возможными размерами.
Эти два параметра сильно влияют на производительность приложения.
-
Помещайте две различные системы с разными настройками в одну точку, чтобы достичь более сложного
эффекта. Например, вы можете поместить одну систему, которая выглядит как огонь, а поверх нее
систему, которая выглядит как дым.
-
Изменяйте параметры системы во время выполнения программы, для различных ситуаций. Например, у вас
может быть система, которая испускает дым и когда в игрока попали, изменяйте значения системы, чтобы
запустить огонь. Или вы можете переодически менять значение параметра nEmission, чтобы
симитировать выбросы.
-
Преобразуйте в процессе выполнения одну систему к другой. Для того, чтобы этого добиться, просто
делайте линейную интерполяцию членов класса hgeParticleSystemInfo
двух систем из пресета. Единственный параметр, который вы возможно не сможете преобразовать, это
спрайт.
-
Установите режим смешивания HGEBLEND_ALPHAADD для спрайта системы частиц и масштабируйте
случайным образом или в зависимости от количества активных частиц в каждом кадре, чтобы сымитировать
молнию.
-
Попробуйте использовать окрашенные спрайты частиц в режиме смешивания HGEBLEND_ALPHABLEND
чтобы добиться эффекта "мульташности".
-
Попробуйте использовать спрайты со смещенным центром.
-
Вы можете создать системы частиц с анимированными частицами, используя класс hgeAnimation
инициализируя его взамен hgeSprite. Так же вы можете пользоваться
своими собственными классами с дополнительной функциональностью, наследованные от hgeSprite.
И даже несмотря на то, что в классе hgeSprite для простоты нет виртуальных методов и
единственны параметр, который можено менять в дочерних классах - это координаты текстуры.
-
Заставляйте системы частиц двигаться по сложным траекториям. Попробуйте использовать короткие
линейны е участки или круг и быстро перемещайте систему вдоль них. Или перемещайте их по траекториям
фигур Лисажу. Или прикрепите систему частиц к движущемуся объекту.
-
Заставьте систему частиц следовать за курсором мыши. Это добавит великолепную интерактивность в
управление пользователя!
|