Интерфейс Away Builder с образцом белого медведя 3D-модель (в центре) и иерархией объектов (слева). | |
Оригинальный автор (ы) | Роб Бейтман, Александр Задорожный, Фабрис Клозье, Питер Капелян, Грег Колдуэлл, Андреас Энгстром, Стивен Уайт, Дэвид Ленертс, Ричард Олссон, Кау Ванек |
---|---|
Разработчик (s) | Away Foundation |
Первоначальный выпуск | 2007 г.; 13 лет назад (2007 г.) |
Стабильный выпуск | 4.1.6 / 24 января 2014 г.; 6 лет назад (24.01.2014) |
Написано на | ActionScript 3, TypeScript |
Операционная система | Web, Windows, iOS, Android, BlackBerry |
Тип | Игровой движок |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | away3d.com |
Away3D - это платформа с открытым исходным кодом для разработки интерактивной трехмерной графики для видеоигр и приложений в Adobe Flash или HTML5. Платформа состоит из редактора 3D-мира (Away Builder), 3D графического движка (Away3D или AwayJS), 3D-физического движка (Away Physics) и сжатого формата файла 3D-модели (AWD).
Разработкой руководит Away Foundation, британская некоммерческая, деятельность которой направлена на создание и поддержку бесплатного программного обеспечения с открытым исходным кодом программные ресурсы для высокопроизводительных мобильных игр и приложений. Фонд поддерживается корпоративным спонсором (Adobe, JetBrains среди других) и отдельными спонсорами.
Away Builder - это интегрированная среда разработки с открытым исходным кодом для импорта, уточнения, подготовки и экспорта 3D-моделей и анимаций. Он может импортировать 3D-модели из различных 3D-приложений, таких как Autodesk 3ds Max, и может запекать освещение в текстурные карты. Основная цель Away Builder - экспорт пакетов 3D-моделей для движка Away3D. Он поддерживает сжатый двоичный формат AWD, что позволяет использовать 3D-модели меньшего размера, чем форматы на основе ASCII, такие как OBJ.
Плагин Away Extension позволяет экспортировать 2D- и 3D-контент из Adobe Animate. в Away3D или AwayJS.
Away3D - это открытый источник движок ActionScript 3 для разработки интерактивной 3D-графики в Adobe Flash Player и Adobe AIR. Away3D работает в текущих веб-браузерах, использующих Adobe Flash Player, и использует Stage3D для рендеринга с ускорением на GPU.
Движок может отображать 3D-модели и выполнять различные другие 3D-вычисления. Он поддерживает иерархическое преобразование объектов с такими функциями, как положение, поворот и масштабирование, рендеринг растровых текстур. Освещение в реальном времени и освещение поддерживается с помощью затенения Фонга, затенения Гуро, точечного и направленного освещения, каскадных теней, нормальное и зеркальное отображение, глобальное освещение и эффекты тумана. Он также поддерживает стереоскопический рендеринг, 3D звук, инструменты выдавливания, анимацию частиц и скелетную анимацию. Эффекты постобработки могут использоваться для повышения качества графики, а Away3D поддерживает bloom, blur, depth of field и <26.>motion blur.
Away3D 4 и более поздние версии полностью поддерживают графику с ускорением GPU с использованием API Stage3D, представленного в Flash Player 11, освобождая ЦП для других вычислительных задач. Поскольку графические процессоры способны отображать гораздо больше текстурированных треугольников в секунду, это обеспечивает гораздо больше деталей и качества и до 100 000 треугольников на кадр вместо типичного потолка 1000 при рендеринге Flash на базе ЦП.
Away Physics - это физический движок, основанный на библиотеке физики Bullet, для обнаружения столкновений, динамики мягкого и твердого тела. Движок создан совместно командой Away3D и командой JiglibFlash и тесно интегрирован с конвейером рендеринга Away3D.
AwayJS - это открытый код JavaScript Механизм рендеринга 3D-графики для HTML5 веб-браузеров и является портом Away3D на основе Adobe Flash. Кодовая база Away3D была перенесена на Microsoft TypeScript, строго типизированную версию JavaScript, которая компилируется в файлы JavaScript для совместимости с современными веб-стандартами. AwayJS работает в текущих веб-браузерах и использует WebGL для рендеринга с ускорением на GPU.
Движок может отображать 3D-модели и выполнять различные другие 3D-вычисления. Он поддерживает преобразование иерархических объектов с такими функциями, как положение, поворот и масштабирование, рендеринг растровых изображений текстур и освещение в реальном времени с использованием затенения Фонга или затенения Гуро. Он также поддерживает отображение теней, анимацию частиц и скелетную анимацию.
. AwayJS может отображать 2D и 3D графический контент с помощью WebGL для рендеринга с ускорением на GPU.. Он позволяет разработчикам использовать существующий инструментарий Away Builder для редактирования, уточнения, сжатия и текстуры запекания 3D-моделей и анимаций. AwayJS также поддерживает сжатый двоичный формат AWD, что позволяет использовать 3D-модели меньшего размера, чем форматы на основе ASCII, такие как OBJ.
. AwayJS API совместим с Flash-версией Away3D, что позволяет существующим разработчикам легко перейти с Flash на HTML5. Чтобы сохранить обратную совместимость с Away3D, AwayJS позволяет разработчикам писать шейдеры графического процессора на языке Adobe AGAL или стандартном OpenGL Shading Language.
Away3D был запущен в 2007 Александр Задорожный и Роб Бейтман как форк Papervision3D.
Away3D активно участвовал в сообществе с момента его появления в 2007 году и заменил Papervision3D после того, как он был обновлен для поддержки Рендеринг с ускорением на GPU с использованием Stage3D. Было опубликовано три руководства по разработке 3D-контента с помощью Away3D.
Автор заявляет, что движок начинался как проект в свободное время и создавался для развлечения. После того, как крупные рекламные агентства и издатели игр начали это, им пришлось «развиваться, чтобы идти в ногу со временем». В интервью он далее заявляет:
Мы никогда не осознавали, насколько он станет большим, но мы всегда стремились предоставить доступные инструменты и библиотеки, которые помогают в создании 3D-контента для всех, и все это бесплатно и с открытым исходным кодом. Никогда не бывает скучно видеть, какие удивительные вещи люди создают с нашими библиотеками, и мы все еще так много хотим улучшить и добавить.
— Роберт Бейтман, основатель, интервью с Робертом Бейтманом, основателем Away3d, от JetBrainsВ 2009 году сообщество Away3D выпустило Away3D Lite, облегченную версию движка для Flash-рекламы и другого содержимого ограниченного размера. Away3D Lite был самым быстрым и компактным полнофункциональным 3D-движком, созданным для Flash. Он весил 25 КБ и работал в 4 раза быстрее, чем полноценный движок Away3D. Никаких будущих версий выпущено не было.
В 2011 году в книге Flash в разделе «3D с Flash» отмечалось, что «Away3D и Alternativa3D в настоящее время являются предпочтительными решениями с точки зрения производительности и функций, поскольку у них более активное сообщество разработчиков. ".
В 2013 году Adobe выбрала Away3D в качестве единственного 3D-движка, включенного в Adobe Gaming SDK. С тех пор Adobe профинансировала дальнейшую разработку Away3D и Away Builder и обновила Adobe Gaming SDK новыми выпусками Away3D.
В 2016 году Away3D 1.2 был перенесен на мультиплатформенную платформу Haxe. язык, позволяющий выполнять кросс-компиляцию в JavaScript и другие языки, поддерживающие трехмерную графику. Это также позволяет Away3D работать на OpenFL, программной среде с API, очень похожим на Adobe Flash Player API.