Вышел в свет очередной выпуск версии Blend4Web - открытой платформы для создания интерактивных трехмерных веб-приложений. Реализовано множество полезного функционала: были разработаны API для рендеринга линий и добавлены новые узлы в редактор логики, а также упрощена установка SDK и улучшена поддержка шлемов виртуальной реальности.
Рендеринг линий
Начиная с сегодняшнего релиза, в Blend4Web появились новые API для качественной отрисовки линий в трехмерном пространстве. Был подготовлен соответствующий пример в составе Code Snippets.
Чтобы нарисовать линию, достаточно добавить на сцену в Blender пустой объект с активированной опцией Line Renderer. Объект может быть анимированным.
В приложении линия отрисовывается вызовом метода draw_line:
var line1 = m_scenes.get_object_by_name("Line1"); m_geometry.draw_line(line1, [x0, y0, z0, x1, y1, z1...]);
Для линий имеется возможность задавать толщину, цвет и прозрачность.
Редактор логики
Добавлены функции в узловой редактор логики. Логических узлов стало уже достаточно много, поэтому было решено разбить их по смысловым категориям.
Появилось два новых узла. Transform Object позволяет перемещать объект в мировой, родительской или локальной системе координат. String Operation осуществляет операции над строковыми константами и переменными аналогично ноде Math Operation.
В узле Variable Store добавлена возможность выбора типа переменной между Number и String. В узле Send Request добавлена возможность использовать строковые переменные для хранения тела запроса и ответа сервера целиком.
Начало работы над библиотекой материалов
Библиотека качественных материалов может значительно ускорить процесс создания контента. В течение следующих месяцев планируется реализация основных классов материалов (стекло, металлы, дерево, пластик и т.п.). В качестве первого шага была разработана модель и окружение для демонстрации материалов, которые можно видеть на вкладке ниже.
Прочие улучшения
Внимание! Устанавливать SDK стало проще - теперь в меню User Preferences в поле File->Scripts достаточно указать путь к корневой директории SDK (ранее нужно было указывать путь к директории скриптов внутри SDK).
В стандартный веб-плеер добавлена возможность отключать кнопки социальный сетей - для этого необходимо использовать атрибут no_social в адресной строке браузера.
Была продолжена работа над поддержкой шлемов виртуальной реальности - был добавлен механизм коррекции дисторсии и устранения хроматической аберрации. Для установки пользовательских настроек коррекции следует использовать функцию set_hmd_params().
Реализована поддержка жеста поворота двумя пальцами на устройствах с тач-скрином. Для этого в модуль controls добавлен новый сенсор Touch Rotate.
Оптимизирован алгоритм обновления дерева узлов, что позволило решить проблемы с производительностью для крупных логических деревьев.
В завершение
Представленный релиз Blend4Web совместим с Blender 2.76. Blend-файлы всех упомянутых в этой статье примеров включены в состав Blend4Web SDK. С полным списком изменений и исправленных ошибок можно ознакомиться в замечаниях к релизу.