Советы по работе с системой частиц

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

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

  • Старайтесь достичь требуемого эффекта, используя минимум частиц, с нименьшими возможными размерами. Эти два параметра сильно влияют на производительность приложения.

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

  • Изменяйте параметры системы во время выполнения программы, для различных ситуаций. Например, у вас может быть система, которая испускает дым и когда в игрока попали, изменяйте значения системы, чтобы запустить огонь. Или вы можете переодически менять значение параметра nEmission, чтобы симитировать выбросы.

  • Преобразуйте в процессе выполнения одну систему к другой. Для того, чтобы этого добиться, просто делайте линейную интерполяцию членов класса hgeParticleSystemInfo двух систем из пресета. Единственный параметр, который вы возможно не сможете преобразовать, это спрайт.

  • Установите режим смешивания HGEBLEND_ALPHAADD для спрайта системы частиц и масштабируйте случайным образом или в зависимости от количества активных частиц в каждом кадре, чтобы сымитировать молнию.

  • Попробуйте использовать окрашенные спрайты частиц в режиме смешивания HGEBLEND_ALPHABLEND чтобы добиться эффекта "мульташности".

  • Попробуйте использовать спрайты со смещенным центром.

  • Вы можете создать системы частиц с анимированными частицами, используя класс hgeAnimation инициализируя его взамен hgeSprite. Так же вы можете пользоваться своими собственными классами с дополнительной функциональностью, наследованные от hgeSprite. И даже несмотря на то, что в классе hgeSprite для простоты нет виртуальных методов и единственны параметр, который можено менять в дочерних классах - это координаты текстуры.

  • Заставляйте системы частиц двигаться по сложным траекториям. Попробуйте использовать короткие линейны е участки или круг и быстро перемещайте систему вдоль них. Или перемещайте их по траекториям фигур Лисажу. Или прикрепите систему частиц к движущемуся объекту.

  • Заставьте систему частиц следовать за курсором мыши. Это добавит великолепную интерактивность в управление пользователя!