Свободно доступная библиотека частиц для XNA (Windows, XBox 360 и Windows Phone)

Грэг Дункан

Недавно мы писали о библиотеке систем частиц с доступным исходным кодом для Windows Phone «Там где дым, огонь и взрывы…, там 3D-движок Tranquility», которую можно использовать по назначению или для изучения процесса самостоятельного создания подобных библиотек.

На этот раз мы поговорим о другой платформе, которая, хотя и доступна лишь в двоичной форме (но, конечно, примеры и демонстрации использования включают исходники), но тоже свободно распространяется, чуть дольше живет и намного более широко применяется, включая не только Windows Phone 7, но также XBox 360, Windows и даже Zune!

DPSF ( DynamicParticleSystemFramework ) – инфраструктура динамических систем частиц

DPSF (Dynamic Particle System Framework) – инфраструктура динамических систем частиц – это проверенный свободно доступный инструмент для простого и быстрого создания пользователем систем частиц в XNA.

C помощью стандартных классов можно встроить в проект эффекты частиц в течение нескольких минут.

В отличие от других библиотек и API аналогичного профиля, DPSF достаточно гибка и позволяет задать собственные законы поведения в системе частиц. Вы не ограничены использованием параметров, предоставляемых платформой. Можно создавать собственные свойства частиц и управлять ими, реализуя любой эффект, который только можно вообразить – если вы способны закодировать его, то можете реализовать его с помощью DPSF.

Загрузите созданную вами систему частиц на форум DPSF и скачайте системы, разработанные другими.

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

Если вы используете DPSF в собственном проекте, не забудьте поместить ссылку на него на форумах DPSF.

Возможости

Вот список некоторых возможностей DPSF:

  • Единый API для множества платформ: поддержка 2D- и 3D-частиц для Windows, Xbox 360, Windows Phone 7 и Zune.
  • Простая интеграция с графическими движками, включая Synapse Gaming's SunBurn.
  • Полная документация на API в виде файлов справки, а также онлайновая документация.
  • В состав установочных файлов входят руководства и исходные файлы для них. Руководства (без исходного кода) доступны в онлайновой документации.
  • Создание систем частиц за минуты с помощью системы по умолчанию. Просто задайте встроенные параметры, такие как положение, скорость, ускорение, вращение, внешние силы начальный и конечный цвет и т. п.
  • Система по умолчанию может быть расширена, чтобы обеспечить требуемую функциональность. Хотите, чтобы у частиц была масса, определяющая, насколько быстро они будут ускоряться? Или хотите, чтобы частицы двигались по определенным траекториям или соответствовали определенному образцу? Вы можете закодировать ее поведение, чтобы так и было!
  • Для быстрого и простого создания системы частиц предоставляются готовые шаблоны.
  • Вы пишете код системы частиц, дающий полный контроль над системой в целом и над ее частицами, позволяя создавать любые типы эффектов в системах частиц. Все ограничено лишь вашим воображением.
  • Простая интеграция в существующие проекты с помощью добавления в ссылки dll-файла.
  • Использование как встроенных эффектов (т. е. шейдеров), так и созданных пользователями.
  • Изменение эффектов по умолчанию (т. е. шейдеров) для создания новых эффектов – легко и быстро.
  • Управляющие системой частиц обеспечивают простое обновление и перерисовку систем частиц.
  • Класс Animations предназначен для простого создания анимированных частиц.
  • Простое создание последовательности изображений, плиток или анимированных gif-файлов, отображающих анимации системы частиц.
  • Если необходимо, системы частиц могут быть реализованы в виде DrawableGameComponents (рисуемых компонентов игры).

Посмотрите эти видеоролики:

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

clip_image002

Во вторых, это прекрасный набор руководств:

clip_image004

clip_image006

И наконец, прекрасные демонстрационные приложения, раскрывающие многие возможности платформы. У меня демки запустились с первого раза, после исправления нужной ссылки.

clip_image008

Все что понадобилось, так это сделать так, чтобы DPSF ссылалась на каталог, в который я установил пакет и все заработало.

clip_image010

clip_image012

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

clip_image014

Она показывает некоторые клевые вещи, которые DPSF может делать. Из трехмерных эффектов.

clip_image016

Фотографию можно разбить на «частицы» разными способами.

clip_image018

clip_image020

clip_image022

И конечно, вы получите исходник этого примера.

Если вы разыскиваете зрелую систему частиц с ценой и лицензией, которые сложно превзойти, не суетитесь и взгляните на DPSF.