Релиз Blend4Web 15.07
2015-07-29
Представляем вниманию наших пользователей очередной релиз Blend4Web - открытого фреймворка для 3D визуализации в Интернет. В версии 15.07 мы реализовали мягкие частицы, поддержали процедурные маски прозрачности в нодовых материалах, существенно ускорили загрузку сцен и добавили множество других улучшений.
Мягкие частицы
Системы частиц широко используются для визуализации движения множества мелких рассеянных объектов, будь то извержение вулкана, брызги от водопада или волшебная пыльца фей. С целью оптимизации в графике реального времени в системах частиц обычно используются поворачивающиеся к наблюдателю полупрозрачные плоскости - билборды. Пересечение этих плоскостей с «твердыми» поверхностями может приводить к проявлению видимых границ, и, таким образом, разрушать иллюзию текучей среды. С сегодняшнего дня в Blend4Web поддерживаются так называемые мягкие частицы, билборды которых плавно растворяются при соприкосновении с поверхностями.
Выше продемонстрирована работа систем частиц дыма и огня: слева - «мягкость» выключена, справа - те же самые системы частиц с включенной «мягкостью».
Чтобы частицы стали «мягкими», достаточно включить опцию Soft Particles на панели Render в настройках системы частиц. С помощью слайдера Particle Softness настраивается степень проявленности этого эффекта.
Прозрачность и ноды
Функциональность нодового редактора материалов существенно расширена для случая использования типа прозрачности Alpha Clip (отсечение по значению альфа). Ранее поддерживались только текстурные маски, которые, к тому же, приходилось помещать в текстурные слоты прозрачного материала вместо того, чтобы использовать стандартную ноду Texture. В результате проведенной работы стали возможными ранее недоступные способы создания прозрачных нодовых материалов.
Полученные с помощью математических операций процедурные маски могут подаваться на вход Alpha для вырезания участков поверхности любой формы, причем маски могут быть анимированными. Еще один способ применения: нода Camera Data может использоваться для реализации плавного растворения с расстоянием, например, билбордов травы.
Нодовый редактор материалов работает и с другими типами прозрачности (Alpha Sort, Alpha Blend, Add).
Оптимизации
Удобный и мощный инструмент для визуального конструирования материалов реализуется «под капотом» Blend4Web с помощью т.н. препроцессора. Препроцессор выполняет анализ исходного кода шейдеров и преобразует его в GLSL-код для выполнения на видео-карте. Он состоит из нескольких систем, среди которых особенно важное значение имеет вычислитель директив (типовой шейдер может включать сотни директив). Теперь, вместо автоматически генерируемого кода парсера-вычислителя, используется гораздо более производительное и простое решение. Это позволило значительно сократить время обработки шейдеров (до десяти раз), а время загрузки насыщенных материалами сцен сократилось почти вдвое.
Также в результате оптимизации значительно увеличена скорость работы приложения Viewer - каталога, предназначенного для быстрого просмотра и настройки экспортированных сцен.
Настройки отражений
Добавлена возможность настройки качества динамических отражений. С помощью этой опции можно управлять соотношением «качество-производительность» в зависимости от способа применения - для ровных зеркальных поверхностей требуется большее качество отражающегося изображения, чем, например, для волнистой поверхности моря. Опция работает как для планарных, так и для кубических отражений.
Также была упрощена настройка планарных отражений - если в поле Reflection Plane не выбран объект для указания положения плоскости отражения, вместо него движок будет использовать сам отражающий объект. Таким образом, в случае совпадения плоскости отражения с отражающей поверхностью более нет необходимости добавлять пустой объект.
Перевод интерфейса на русский язык
Нами была реализована возможность перевода интерфейса на другие языки. В настоящий момент мы перевели интерфейс Blend4Web на русский язык.
Переключение интерфейса на другой язык производится стандартными средствами Blender.
Прочие улучшения
В Blender материал можно назначить как на меш, так и на объект - с сегодняшнего дня Blend4Web поддерживает и второй вариант тоже.
Реализована возможность обработки внешних запросов для локального сервера разработчика, что может быть использовано для отладки веб-приложений на мобильных устройствах, а также для запуска разрабатываемых приложений с компьютеров ваших коллег.
Для использования этой функции необходимо в настройках аддона включить опцию Enable External Requests.
Каустика на воде теперь подключается с помощью опции Caustics на панели материала Water. Текстуры типа Voronoi, которые использовались для этого, более не поддерживаются.
Для удобства настройки режима парящей камеры (тип Hover) появился параметр Zero Level, с помощью которого можно установить начальную высоту камеры.
Заключение
Представленный релиз Blend4Web совместим с Blender 2.75. Blend-файлы всех упомянутых в этой статье примеров включены в состав Blend4Web SDK. С полным списком изменений и исправленных ошибок можно ознакомиться в замечаниях к релизу.