Релиз Blend4Web 16.03
2016-03-31
Мы рады представить новую версию Blend4Web - платформы для создания трехмерных интерактивных браузерных приложений. В этом релизе: новый функционал редактора логики, первая серия реалистичных материалов для библиотеки, интернационализация и улучшения среды разработки.
Сказ о Пятигоре
В этом месяце состоялся релиз крупного игрового приложения, демонстрирующего возможности Blend4Web в области игровой разработки. Игра "Сказ о Пятигоре" доступна на отдельном сайте. Подробности вы можете узнать в отдельной статье.
Все исходные файлы игры доступны для изучения и модификации в составе открытого дистрибутива Blend4Web представляемой версии.
Библиотека материалов
В состав SDK с сегодняшнего дня включена первая серия из 7 качественных материалов, включая металлы, пластик, стекло и т.д.
Blend-файлы материалов находятся в директории blender/material_library/ по одному материалу в файле, и распределены по категориям (внутренние директории glass, metal, plastic и т.д.).
Визуальный редактор логики
Мы продолжаем расширять функционал редактора логики. Начиная с этого релиза, отдельные нити узлового дерева (начинающиеся с узла Entry Point) могут сообщаться между собой посредством глобальных переменных. Чтобы обеспечить переменной глобальную область видимости, достаточно при ее создании включить опцию Global в узле Variable Store.
Устанавливаемые одной нитью переменные могут использоваться для управления потоком исполнения в другой нити.
В вышеприведенном примере система самостоятельно переключается каждые две секунды между состояниями "доступно" и "занято". Нажатие кнопки пользователем может приводить к разным результатам в зависимости от состояния системы.
В редакторе логики появились два новых узла. Узел Get Timeline позволяет получить текущий кадр шкалы времени. Узел JSON предназначен для формирования и разбора данных, отправляемых и получаемых от сервера.
Также улучшения коснулись логических узлов Play Animation и Stop Animation, которые теперь могут применяться для анимации настроек окружения. Открывающиеся возможности продемонстрированы небольшой интерактивной сценой.
Также с помощью редактора узлов теперь можно манипулировать объектами сцен, отрисовываемых в текстуру.
Среда разработки
Начиная с этого релиза, мы постараемся обеспечивать совместимость аддона с предыдущими версиями Blender. В частности, данный релиз совместим с версиями 2.76 и 2.77.
На панель инструментов была добавлена опция Update Material Animation (выключена по умолчанию), которая позволяет наблюдать и отлаживать анимацию узловых материалов непосредственно во вьюпорте Blender.
Менеджер проектов теперь может работать независимо от Blender, для этого достаточно запустить скрипт project_server.py.
В панель Render добавлена опция Dynamic Grass. Для этого параметра доступны три значения: ON включает постоянное отображение динамически генерируемой травы, OFF полностью отключает его, AUTO позволяет движку автоматически определять объекты с динамической травой.
Опция ON может использоваться для форсирования рендеринга в случае динамической подгрузки сцен.
Интернационализация
Отвечая на возрастающий интерес к нашей платформе со стороны китаеязычных пользователей, мы начали работу по переводу сайта и документации на китайский язык. Также начал функционировать китаеязычный форум. Мы благодарим наших пользователей из блендеровских сообществ Китая и Тайваня за помощь в этой работе.
Для обеспечения возможности перевода руководства пользователя на другие языки командами переводчиков из других стран, в po-файлах (формат gettext) в качестве основного теперь используется английский язык вместо русского.
Прочие улучшения
В ходе рефакторинга были образованы несколько новых программных модулей. Математический модуль math в настоящее время содержит методы работы с параметрически задаваемыми линиями и плоскостями, а также другие вспомогательные методы.
Модуль input абстрагирует и унифицирует доступ к устройствам ввода различного типа (мышь, клавиатура, тачскрин, гироскоп, устройства виртуальной реальности). В результате программисты приложений получили возможность работать с устройствами ввода, не углубляясь в специфику их внутреннего устройства.
В завершение
Данный релиз совместим с версиями Blender 2.77 и 2.76. Как обычно, исходные файлы всех приложений находятся в составе открытого дистрибутива Blend4Web SDK. С полным списком изменений и исправленных ошибок можно ознакомиться в замечаниях к релизу.
Еще раз напоминаем, что первая в истории конференция по Blend4Web состоится через месяц! Прочитать подробнее о конференции можно на этой странице.