Все записи автора Andrey Kopysov

Alternativa3D 8.32.0 и 7 причин обновиться

После длительного перерыва мы выпускаем релиз 8.32 в виде SWC. Все это время мы коммитили изменения на GitHub и фиксировали там промежуточные релизы. Однако обновление через GitHub подходит не всем, и теперь вы можете получить новую версию библиотеки в виде привычного архива с документацией и примерами. Вот 7 главных причин обновиться:

  • StandardMaterial не имеет больше ограничения на количество источников света и теней, которые накладываются на объект
    При наличии большого количества источников света объект будет автоматически отрисован в несколько проходок.
  • Тени от OmniLight
    Помимо теней от DirectionalLight теперь доступен класс OmniLightShadow, который отбрасывает тень от точечного источника света. Для всех теней имеется возможность настройки параметров качества и сглаживания границ.
  • Отключение влияния источника света на объект
    Через метод Object3D.excludeLight() вы можете отключить воздействие источника света на объект или иерархию объектов.
  • Ускорение отрисовки и производительности материалов
    Благодаря более оптимальному кешированию ресурсов удалось повысить производительность до 30% на особо сложных сценах.
  • Отключение мышиных событий, когда они не нужны
    Теперь в проектах, не использующих мышиные события или использующих только обработку кликов, можно ожидать роста производительности. В версии 8.32.0 расчеты выполняются только для тех типов событий, на которые были подписаны обработчики.
  • Базовая поддержка Constrained режима
    Вышедшая недавно в релиз версия Flash Player 11.4 позволяет использовать аппаратное ускорение в данном режиме на гораздо большем количестве видеокарт. Подробнее читайте в анонсе FP 11.4.
  • Обработка правой и средней кнопок мыши при взаимодействии с объектами
    Возможность подписываться на обработку событий правой и средней кнопок мыши появилась в версии Flash Player 11.2, теперь данная возможность поддержана и в Alternativa3D.

Полный список изменений
Скачать Alternativa3D 8.32.0
Читать документацию на wiki.alternativaplatform.com

Теперь у наших примеров есть собственный репозиторий на GitHub — Alternativa3DExamples!

Подписывайтесь на нашу группу в Facebook, и вы сможете оперативно узнавать о новостях, связанных с разработкой движка.
Размещайте пост в соцсетях и твиттере  — пусть больше людей узнает о релизе!

Публикация в Software Developer’s Journal

Много времени прошло с тех пор, как мы выпустили Alternativa3D 8.27. С тех пор уже было сделано много коммитов в наш репозиторий на гитхабе, но мы до сих пор как следует не объяснили, как пользоваться самыми главными фичами этого релиза. Но недавно вышел выпуск Software Developer’s Journal со статьей об этих фичах. Статья содержит подробное описание того, как использовать тени и описывает основы проблемы с сортировкой прозрачных объектов.

Журнал по ссылке: http://sdjournal.org/game-development-gems-software-developers-journal-42012-4

Мягкие частицы

Хотим поделиться нашими последними достижениями.

Недавно реализовали для «Танков Онлайн» эффект «мягких» частиц. Этот эффект избавляет от резких врезок частиц в геометрию уровня и тем самым улучшает их внешний вид.

Я думаю, лучше всего оценить пользу данного эффекта по скриншотам и видео.

SSAO в Alternativa3D

Привет!
Что-то мы давно ничего не писали, а меж тем работа над платформой, в том числе над движком Alternativa3D, кипит. Сейчас, например, занимаемся SSAO.

Screen Space Ambient Occlusion — это пост-эффект, повышающий видимую детализацию сцены благодаря затенению мест, для которых ожидается слабое проникновение света.

На скриншоте ниже видно, как это будет выглядеть в «Танках Онлайн».

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

Затенение определяется двумя параметрами — расстоянием между точками и углом между перекрывающей точкой и нормалью объекта в данном месте.

Нам удалось достичь высокой производительности данного алгоритма при хорошем качестве. Ожидайте его внедрения в основную ветку Alternativa3D на GitHub.