Away3D

Оригинальный автор(ы)Роб Бейтман, Александр Задорожный, Фабрис Клозье, Питер Капелян, Грег Колдуэлл, Андреас Энгстром, Стивен Уайт, Дэвид Ленертс, Ричард Олссон, Кауэ Ванек [1]
Разработчик(и)Фонд «Выезд»
Первоначальный выпуск2007 ; 17 лет назад [2] [3] ( 2007 )
Окончательный релиз
4.1.6 / 24 января 2014 г. ; 10 лет назад [4] ( 2014-01-24 )
Репозиторий
  • github.com/away3d/away3d-core-fp11
Написано вActionScript 3 , TypeScript
Операционная системаВеб , Windows , iOS , Android , BlackBerry
ТипИгровой движок
ЛицензияЛицензия Apache 2.0
Веб-сайтaway3d.com

Away3D — это платформа с открытым исходным кодом для разработки интерактивной 3D-графики для видеоигр и приложений в Adobe Flash или HTML5 . Платформа состоит из редактора 3D-мира (Away Builder), [5] [6] движка 3D -графики (Away3D или AwayJS), движка 3D-физики (Away Physics) [7] и сжатого формата файла 3D-модели (AWD). [8] [9] [10]

Разработка управляется Away Foundation , некоммерческой организацией из Великобритании, которая занимается созданием и поддержкой бесплатных и открытых программных ресурсов для высокопроизводительных мобильных игр и приложений . [10] [11] Фонд поддерживается корпоративным спонсорством ( Adobe , [12] JetBrains [13] и другими) и индивидуальными жертвователями. [11]

Платформа

Выездной строитель

Away Builder — это интегрированная среда разработки с открытым исходным кодом для импорта, уточнения, подготовки и экспорта 3D-моделей и анимаций. [5] Он может импортировать 3D-модели из различных 3D-приложений, таких как Autodesk 3ds Max , и может запекать освещение в текстурные карты. [5] Основная цель Away Builder — экспорт пакетов 3D-моделей для движка Away3D. [5] Он поддерживает сжатый двоичный формат AWD, что позволяет использовать меньшие размеры для 3D-моделей, чем форматы на основе ASCII, такие как OBJ .

Плагин расширения Away позволяет экспортировать 2D- и 3D-контент из Adobe Animate в Away3D или AwayJS. [14]

Away3D

Away3D — это движок ActionScript 3 с открытым исходным кодом для разработки интерактивной 3D-графики в Adobe Flash Player и Adobe AIR . Away3D работает в современных веб-браузерах, использующих Adobe Flash Player , и использует Stage3D для ускоренного рендеринга на GPU. [ требуется ссылка ]

Движок может визуализировать 3D-модели и выполнять различные другие 3D-вычисления. Он поддерживает иерархическое преобразование объектов с такими функциями, как положение, вращение и масштабирование, визуализация растровых текстур . [15] [16] Освещение в реальном времени поддерживается с использованием затенения по Фонгу , затенения по Гуро , точечного и направленного освещения , каскадных теней , нормального и зеркального отображения , глобального освещения и эффектов тумана. [11] [16] Он также поддерживает стереоскопический рендеринг , 3D-звук , инструменты экструзии , анимацию частиц и скелетную анимацию . [16] Эффекты постобработки могут использоваться для повышения качества графики, а Away3D поддерживает цветение , размытие , глубину резкости и размытие движения . [16]

Away3D 4 и более поздние версии полностью поддерживают графику с ускорением на GPU с использованием API Stage3D, представленного в Flash Player 11, освобождая центральный процессор для других вычислительных задач. [17] Поскольку графические процессоры способны визуализировать гораздо больше текстурированных треугольников в секунду, они обеспечивают гораздо большую детализацию и качество, а также до 100 000 треугольников на кадр вместо типичного потолка в 1000 при визуализации Flash на базе CPU. [18]

Away Physics — это физический движок, основанный на физической библиотеке Bullet , для обнаружения столкновений , динамики мягких и твердых тел . [7] Движок создан совместно командами Away3D и JiglibFlash и тесно интегрирован с конвейером рендеринга Away3D. [7]

AwayJS

AwayJS — это движок JavaScript 3D-рендеринга графики с открытым исходным кодом для веб-браузеров HTML5 , являющийся портом Away3D на основе Adobe Flash . [19] [20] Кодовая база Away3D была перенесена в Microsoft TypeScript , строго типизированную версию JavaScript , которая компилируется в файлы JavaScript для совместимости с современными веб-стандартами. [21] [22] AwayJS работает в современных веб-браузерах и использует WebGL для рендеринга с ускорением на GPU. [19]

Движок может визуализировать 3D-модели и выполнять различные другие 3D-вычисления. Он поддерживает иерархическую трансформацию объектов с такими функциями, как положение, вращение и масштабирование, визуализация растровых текстур и освещение в реальном времени с использованием затенения Фонга или затенения Гуро . [19] Он также поддерживает теневое отображение , анимацию частиц и скелетную анимацию . [19]

AwayJS может визуализировать 2D и 3D графический контент с помощью WebGL для ускоренного рендеринга на GPU. [23] Он позволяет разработчикам использовать существующий набор инструментов Away Builder для редактирования, уточнения, сжатия и запекания текстур 3D-моделей и анимаций. [24] AwayJS также поддерживает сжатый двоичный формат AWD, что позволяет использовать меньшие размеры для 3D-моделей, чем форматы на основе ASCII , такие как OBJ . [25]

API AwayJS совместим с Flash-версией Away3D, что позволяет существующим разработчикам легко перейти с Flash на HTML5. [19] Для сохранения обратной совместимости с Away3D, AwayJS позволяет разработчикам писать шейдеры GPU на языке Adobe Graphics Assembly Language (AGAL) или стандартном языке шейдеров OpenGL (GLSL). [19]

История

Away3D был создан в 2007 году Александром Задорожным и Робом Бейтманом [2] как ответвление Papervision3D . [3]

Away3D активно участвовал в сообществе с момента своего появления в 2007 году и заменил Papervision3D после того, как он был обновлен для поддержки ускоренного рендеринга на GPU с использованием Stage3D . Было опубликовано три руководства по разработке 3D-контента с помощью Away3D. [26] [27] [28]

Автор утверждает, что движок начинался как проект для досуга и был создан ради развлечения. После того, как крупные рекламные агентства и издатели игр начали его, им пришлось «развиваться, чтобы идти в ногу». В интервью он далее заявляет:

Мы никогда не осознавали, насколько большим он станет, но нашим намерением всегда было предоставить доступные инструменты и библиотеки, которые помогают в создании 3D-контента, для всех, все бесплатно и с открытым исходным кодом. Видеть, какие удивительные вещи люди создают с помощью наших библиотек, никогда не надоедает, и есть еще так много того, что мы хотим улучшить и добавить.

—  Роберт Бейтман, основатель, интервью с Робертом Бейтманом, основателем Away3d, JetBrains [10]

В 2009 году сообщество Away3D выпустило Away3D Lite, облегченную версию движка для Flash-рекламы и другого контента с ограничениями по размеру. [29] [30] Away3D Lite был самым быстрым и самым маленьким полнофункциональным 3D-движком, созданным для Flash. Он весил 25 КБ и работал в 4 раза быстрее, чем полный движок Away3D. [30] Дальнейшие версии не выпускались. [29]

В 2011 году в разделе «3D с Flash» книги Flash было отмечено, что «Away3D и Alternativa3D в настоящее время являются предпочтительными решениями с точки зрения производительности и функциональности, поскольку у них более активное сообщество разработчиков» [3] .

В 2013 году Adobe выбрала Away3D в качестве единственного 3D-движка, включенного в Adobe Gaming SDK. [31] [32] С тех пор Adobe финансировала дальнейшую разработку Away3D и Away Builder, [33] а также обновила Adobe Gaming SDK новыми версиями Away3D. [34]

В 2016 году Away3D 1.2 был портирован на многоплатформенный язык Haxe , что позволило кросс-компилировать его в JavaScript и другие языки, поддерживающие 3D-графику. [35] Это также позволяет Away3D работать на OpenFL , программной платформе с API, очень похожим на API Adobe Flash Player . [36]

Ссылки

  1. ^ Команда Away3D, на официальном сайте
  2. ^ ab Страница проекта Away3D, код Google
  3. ^ abc Арно, Реми (2011). «3D в веб-браузере». В Эрик Лендьел (ред.). Game Engine Gems 2. CRC Press. стр. 207–208. ISBN 978-1-56881-437-7.
  4. ^ "Away3D 4.1.6 Release". Архивировано из оригинала 25 ноября 2015 г. Получено 24 ноября 2015 г.
  5. ^ abcd Away Builder, Away Tools
  6. ^ Away Builder, репозиторий GitHub
  7. ^ abc Away Физика, Away Foundation
  8. ^ Веб-сайт формата AWD
  9. ^ Формат AWD, Инструменты Away
  10. ^ abc Ганенкова, Елена (28 октября 2013 г.). "Интервью с Робертом Бейтманом, основателем Away3d, 3D-движка с открытым исходным кодом для платформы Flash". JetBrains .
  11. ^ abc Ху, Майкл (17 июля 2012 г.). «Вопросы и ответы с Робом Бейтманом из The Away Foundation». Adobe.
  12. ^ Away3D и Adobe Архивировано 2016-03-08 на Wayback Machine , 17 июля 2012 г., автор Роб Бейтман, Away3D
  13. ^ Партнерство JetBrains и интервью Архивировано 08.03.2016 в Wayback Machine , 28 октября 2013 г., автор Роб Бейтман, Away3D
  14. ^ Расширения Away, The Away Foundation, Adobe Add-on Marketplace
  15. ^ Away3D, FlashMagazine
  16. ^ abcd Возможности Away3D, Away3D.com
  17. ^ Stage3D против производительности WebGL, Airtight Interactive
  18. ^ Away3D 4.0 Альфа-релиз - Broomstick Архивировано 23.09.2011 на Wayback Machine , Away3D.com
  19. ^ abcdef "Away3D Typescript Website". Архивировано из оригинала 17 сентября 2021 г. Получено 20 сентября 2014 г.
  20. ^ AwayJS, GitHub
  21. ^ Away3D появляется в Typescript!, Adobe AIR и блоге команды Adobe Flash Player
  22. ^ Away3D Typescript 4.1 Alpha, блог Away3D
  23. ^ Sperl, Daniel (5 февраля 2014 г.). «Starling JS стекаются в Away Foundation». Gamua.
  24. Знакомство с AwayJS, Lanyrd, Роб Бейтман, 20 мая 2014 г.
  25. Учебное пособие: Away3D TypeScript: полный ресурс Архивировано 29 августа 2014 г. на Wayback Machine , 7 июля 2014 г., Grok Digital Designs
  26. ^ Away3d 3.6 Кулинарная книга, Amazon.com
  27. ^ Away3D 3.6 Essentials (Опыт сообщества в чистом виде), Amazon.com
  28. ^ Основное руководство по 3D во Flash, Amazon.com
  29. ^ ab Away3D Lite Версия 1.0, Away3D.com
  30. ^ ab Away3D Lite v1.0: самый быстрый и самый маленький 3D-движок во Flash Архивировано 08.03.2016 на Wayback Machine , Роб Бейтман, 11 сентября 2009 г., Away3D.com
  31. ^ Знакомство с инструментами разработки игр Архивировано 10 августа 2014 г. на Wayback Machine , ByteArray.org
  32. ^ Игровой SDK, Adobe Systems
  33. ^ 2013: Полный вперед для Adobe Gaming!, Блог команды Adobe AIR и Adobe Flash Player, Adobe
  34. ^ Обновление Adobe Gaming SDK, блог команды Adobe AIR и Adobe Flash Player, Adobe
  35. ^ План развития Away Foundation 2014, Away3D Foundation
  36. ^ away3d 1.2.0, портирован на OpenFL 2.x/Haxe, Haxelib

Дальнейшее чтение

  • Ричард Олссон; Роб Бейтман (2010). Основное руководство по 3D во Flash . Apress. ISBN 978-1-4302-2541-6.
  • Касперсон, Мэтью (2011). Away3D 3.6 Основы . ISBN Packt Publishing Ltd. 978-1-84951-207-7.
  • Иванов, Михаил (2011). Away3D 3.6 Cookbook . Packt Publishing Ltd. ISBN 978-1-84951-281-7.
  • Официальный сайт
  • Away3d на GitHub
Взято с "https://en.wikipedia.org/w/index.php?title=Away3D&oldid=1229936415"