Свободно доступная библиотека частиц для 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 демонстрирует свою зрелость разными способами. Прежде всего, это хорошая документация.
Во вторых, это прекрасный набор руководств:
И наконец, прекрасные демонстрационные приложения, раскрывающие многие возможности платформы. У меня демки запустились с первого раза, после исправления нужной ссылки.
Все что понадобилось, так это сделать так, чтобы DPSF ссылалась на каталог, в который я установил пакет и все заработало.
Одна из моих любимых (не знаю почему, может быть, потому что собака очень привлекательно выглядит) демонстраций – с фотографией.
Она показывает некоторые клевые вещи, которые DPSF может делать. Из трехмерных эффектов.
Фотографию можно разбить на «частицы» разными способами.
И конечно, вы получите исходник этого примера.
Если вы разыскиваете зрелую систему частиц с ценой и лицензией, которые сложно превзойти, не суетитесь и взгляните на DPSF.