Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Платформа [ править ]

Away Builder [ править ]

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

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

Away3D [ править ]

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

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

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

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

AwayJS [ править ]

AwayJS - это движок рендеринга 3D-графики JavaScript с открытым исходным кодом для веб-браузеров 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]

AwayJS API совместим с Flash-версией Away3D, что позволяет существующим разработчикам беспрепятственно переходить с Flash на HTML5. [19] Чтобы сохранить обратную совместимость с Away3D, AwayJS позволяет разработчикам писать шейдеры графического процессора на языке 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 году в книге Flash в разделе «3D с 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 и другими языками, поддерживающими трехмерную графику. [35] Это также позволяет Away3D работать на OpenFL , программной среде с API, очень похожим на API Adobe Flash Player . [36]

Ссылки [ править ]

  1. ^ Команда Away3D , на официальном сайте
  2. ^ a b Страница проекта Away3D , код Google
  3. ^ a b c Арно, Реми (2011). «3D в веб-браузере». В Эрике Ленгьеле (ред.). Самоцветы игрового движка 2 . CRC Press. С. 207–208. ISBN 978-1-56881-437-7.
  4. ^ "Away3D 4.1.6 Release" . Архивировано из оригинала на 2015-11-25 . Проверено 24 ноября 2015 .
  5. ^ a b c d Away Builder , Away Tools
  6. ^ Away Builder ,репозиторий GitHub
  7. ^ a b c Away Physics , Away Foundation
  8. ^ Веб-сайт формата AWD
  9. ^ Формат AWD , Инструменты для выезда
  10. ^ a b c Ганенкова, Елена (2013-10-28). «Интервью с Робертом Бейтманом, основателем Away3d, 3D-движка с открытым исходным кодом для Flash Platform» . JetBrains .
  11. ^ a b c Ху, Майкл (2012-07-17). «Вопросы и ответы с Робом Бейтманом из Фонда« Отъезд »» . Adobe.
  12. ^ Away3D и Adobe архивации 2016-03-08 в Wayback Machine , 17 июля 2012, Роб Бейтман, Away3D
  13. ^ JetBrains партнерства и интервью архивации 2016-03-08 в Wayback Machine , 28 Октября 2013, Роб Бейтман, Away3D
  14. ^ Расширения Away , Автор: The Away Foundation, Adobe Add-on Marketplace
  15. ^ Away3D , FlashMagazine
  16. ^ a b c d Возможности Away3D , Away3D.com
  17. ^ Stage3D против производительности WebGL , герметичное интерактивное
  18. ^ Away3D 4.0 альфа релиз - Broomstick Archived 2011-09-23 в Wayback Machine , Away3D.com
  19. ^ a b c d e f Веб-сайт Away3D Typescript
  20. ^ AwayJS , GitHub
  21. ^ Away3D переходит в Typescript! , Блог группы разработчиков Adobe AIR и Adobe Flash Player
  22. ^ Away3D Typescript 4.1 Alpha , Блог Away3D
  23. ^ Сперл, Дэниел (2014-02-05). «Starling JS стекается в Away Foundation» . Гамуа.
  24. ^ Представляем AwayJS , Lanyrd, Роб Бейтман, 20 мая 2014 г.
  25. ^ Учебное пособие: Away3D TypeScript: Resource Complete Архивировано 29августа 2014 г.на Wayback Machine , 7 июля 2014 г., Grok Digital Designs
  26. ^ Away3d 3.6 Поваренная книга , Amazon.com
  27. ^ Away3D 3.6 Essentials (опыт сообщества) , Amazon.com
  28. ^ The Essential Guide to 3D in Flash , Amazon.com.
  29. ^ a b Away3D Lite, версия 1.0 , Away3D.com
  30. ^ a b Away3D Lite v1.0: самый быстрый и маленький 3D-движок во Flash. Архивировано 8 марта 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 . Апресс. ISBN 978-1-4302-2541-6.
  • Касперсон, Мэтью (2011). Away3D 3.6 Основы . Packt Publishing Ltd. ISBN 978-1-84951-207-7.
  • Иванов, Михаил (2011). Поваренная книга Away3D 3.6 . Packt Publishing Ltd. ISBN 978-1-84951-281-7.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Away3d на GitHub