Away3D es una plataforma de código abierto para desarrollar gráficos 3D interactivos para videojuegos y aplicaciones , en Adobe Flash o HTML5 . La plataforma consta de un editor de mundo 3D (Away Builder), [5] [6] un motor de gráficos 3D (Away3D o AwayJS), un motor de física 3D (Away Physics) [7] y un formato de archivo de modelo 3D comprimido (AWD) . [8] [9] [10]
![]() | |
![]() La interfaz de Away Builder con un modelo 3D de oso polar de muestra (centro) y jerarquía de objetos (izquierda). | |
Autor (es) original (es) | Rob Bateman, Alexander Zadorozhny, Fabrice Closier, Peter Kapelyan, Greg Caldwell, Andreas Engstrom, Stephen White, David Lenaerts, Richard Olsson, Cauê Waneck [1] |
---|---|
Desarrollador (es) | Fundación Away |
Versión inicial | 2007 [2] [3] |
Lanzamiento estable | 4.1.6 / 24 de enero de 2014 [4] |
Repositorio | ![]() |
Escrito en | ActionScript 3 , TypeScript |
Sistema operativo | Web , Windows , iOS , Android , BlackBerry |
Tipo | Motor de juegos |
Licencia | Licencia Apache 2.0 |
Sitio web | away3d |
El desarrollo está gestionado por la Away Foundation , una organización sin fines de lucro con sede en el Reino Unido que se centra en la creación y el mantenimiento de recursos de software gratuitos y de código abierto para juegos y aplicaciones móviles de alto rendimiento . [10] [11] La fundación cuenta con el apoyo de patrocinadores corporativos ( Adobe , [12] JetBrains [13] entre otros) y donantes individuales. [11]
Plataforma
Constructor ausente
Away Builder es un entorno de desarrollo integrado de código abierto para importar, refinar, preparar y exportar modelos y animaciones 3D. [5] Puede importar modelos 3D de varias aplicaciones 3D, como Autodesk 3ds Max , y puede convertir la iluminación en mapas de textura. [5] El propósito principal de Away Builder es exportar paquetes de modelos 3D para el motor Away3D. [5] Es compatible con el formato binario comprimido AWD, lo que permite tamaños más pequeños para los modelos 3D que los formatos basados en ASCII como OBJ .
El complemento de Away Extension permite exportar contenido 2D y 3D de Adobe Animate a Away3D o AwayJS. [14]
Away3D
Away3D es un motor ActionScript 3 de código abierto para desarrollar gráficos 3D interactivos dentro de Adobe Flash Player y Adobe AIR . Away3D se ejecuta en los navegadores web actuales que utilizan Adobe Flash Player y utiliza Stage3D para el renderizado acelerado por GPU.
El motor puede renderizar modelos 3D y realizar otros cálculos 3D. Admite la transformación jerárquica de objetos con características como posición, rotación y escala, renderizado de texturas de mapa de bits . [15] [16] La iluminación y la iluminación en tiempo real son compatibles con sombreado Phong , sombreado Gouraud , iluminación puntual y direccional , sombras en cascada , mapeo normal y especular , iluminación global y efectos de niebla. [11] [16] También admite renderizado estereoscópico , sonido 3D , herramientas de extrusión , animación de partículas y animación esquelética . [16] Los efectos de posprocesamiento se pueden utilizar para mejorar la calidad de los gráficos, y Away3D admite la floración , el desenfoque , la profundidad de campo y el desenfoque de movimiento . [dieciséis]
Away3D 4 y en adelante es totalmente compatible con gráficos acelerados por GPU utilizando la API Stage3D introducida en Flash Player 11, liberando la CPU para otras tareas computacionales. [17] Dado que las GPU son capaces de renderizar muchos más triángulos texturizados por segundo, permite muchos más detalles y calidad, y hasta 100.000 triángulos por fotograma en lugar del techo típico de 1.000 con renderizado Flash basado en CPU. [18]
Away Physics es un motor de física basado en la biblioteca de física Bullet , para detección de colisiones , dinámica de carrocería blanda y rígida . [7] El motor está construido conjuntamente por el equipo de Away3D y el equipo de JiglibFlash, y está estrechamente integrado con el proceso de renderizado de Away3D. [7]
AwayJS
AwayJS es un motor de renderizado de gráficos 3D JavaScript de código abierto para navegadores web HTML5 , y es un puerto de Away3D basado en Adobe Flash . [19] [20] El código base de Away3D fue portado a Microsoft TypeScript , una versión fuertemente tipada de JavaScript que se compila en archivos JavaScript para compatibilidad con estándares web modernos. [21] [22] AwayJS se ejecuta en los navegadores web actuales y utiliza WebGL para el renderizado acelerado por GPU. [19]
El motor puede renderizar modelos 3D y realizar otros cálculos 3D. Admite la transformación jerárquica de objetos con características como posición, rotación y escala, renderizado de texturas de mapa de bits e iluminación en tiempo real utilizando sombreado Phong o sombreado Gouraud . [19] También admite mapeo de sombras , animación de partículas y animación esquelética . [19]
AwayJS puede renderizar contenido gráfico 2D y 3D usando WebGL para renderizado acelerado por GPU. [23] Permite a los desarrolladores utilizar el kit de herramientas Away Builder existente para editar, refinar, comprimir y hornear texturas de modelos y animaciones 3D. [24] AwayJS también admite el formato binario comprimido AWD, lo que permite tamaños más pequeños para modelos 3D que los formatos basados en ASCII como OBJ . [25]
La API de AwayJS es coherente con la versión Flash de Away3D, lo que permite a los desarrolladores existentes migrar de Flash a HTML5 sin problemas. [19] Para preservar la compatibilidad con versiones anteriores de Away3D, AwayJS permite a los desarrolladores escribir sombreadores de GPU en Adobe Graphics Assembly Language (AGAL) o en el estándar OpenGL Shading Language (GLSL). [19]
Historia
Away3D se inició en 2007 por Alexander Zadorozhny y Rob Bateman [2] como una bifurcación de Papervision3D . [3]
Away3D vio la participación activa de la comunidad desde su introducción en 2007, y reemplazó a Papervision3D después de que se actualizó para admitir el renderizado acelerado por GPU con Stage3D . Se han publicado tres guías sobre desarrollo de contenido 3D con Away3D. [26] [27] [28]
El autor afirma que el motor comenzó como un proyecto de tiempo libre y fue creado por diversión. Después de que las grandes agencias de publicidad y los editores de juegos lo iniciaran, tuvieron que "evolucionar para mantener el ritmo". En una entrevista, afirma además:
Nunca nos dimos cuenta de lo grande que llegaría a ser, pero nuestra intención siempre ha sido proporcionar herramientas y bibliotecas accesibles que ayuden en la creación de contenido 3D, para cualquier persona, todo de forma gratuita y de código abierto. Ver las cosas increíbles que la gente construye con nuestras bibliotecas nunca se vuelve aburrido, y todavía hay muchas cosas que queremos mejorar y agregar.
- Robert Bateman, fundador, entrevista con Robert Bateman, fundador de Away3d, por JetBrains [10]
En 2009, la comunidad de Away3D lanzó Away3D Lite, una versión más ligera del motor para anuncios Flash y otro contenido de tamaño limitado. [29] [30] Away3D Lite fue el motor 3D con todas las funciones más rápido y más pequeño creado para Flash. Pesaba 25 KB y funcionaba 4 veces más rápido que el motor Away3D completo. [30] No se lanzaron versiones futuras. [29]
En 2011, un libro Flash señaló en la sección "3D con Flash" que "Away3D y Alternativa3D son actualmente la solución preferida por rendimiento y características porque tienen una comunidad de desarrollo más activa". [3]
En 2013, Adobe eligió Away3D como el único motor 3D incluido en Adobe Gaming SDK. [31] [32] Desde entonces, Adobe ha financiado un mayor desarrollo en Away3D y Away Builder, [33] y ha actualizado Adobe Gaming SDK con nuevas versiones de Away3D. [34]
En 2016, Away3D 1.2 se transfirió al lenguaje multiplataforma Haxe , lo que le permitió compilarlo de forma cruzada en JavaScript y otros lenguajes que admiten gráficos 3D. [35] Esto también permite que Away3D se ejecute en OpenFL , un marco de software con una API que es muy similar a la API de Adobe Flash Player . [36]
Referencias
- ^ Equipo Away3D , en el sitio web oficial
- ^ a b Página del proyecto Away3D , código de Google
- ↑ a b c Arnaud, Remi (2011). "3D en un navegador web" . En Eric Lengyel (ed.). Gemas del motor de juego 2 . Prensa CRC. págs. 207–208. ISBN 978-1-56881-437-7.
- ^ "Liberación de Away3D 4.1.6" . Archivado desde el original el 25 de noviembre de 2015 . Consultado el 24 de noviembre de 2015 .
- ^ a b c d Constructor ausente, Herramientas ausentes
- ^ Generador ausente ,repositorio de GitHub
- ^ a b c Física Ausente, Fundación Ausente
- ^ Sitio web del formato AWD
- ^ Formato AWD , Herramientas ausentes
- ^ a b c Ganenkova, Elena (28 de octubre de 2013). "Entrevista con Robert Bateman, fundador de Away3d, un motor 3D de código abierto para la plataforma Flash" . JetBrains .
- ^ a b c Hu, Michael (17 de julio de 2012). "Preguntas y respuestas con Rob Bateman de The Away Foundation" . Adobe.
- ^ Away3D y Adobe Archivado el 8 de marzo de 2016 en Wayback Machine , 17 de julio de 2012, por Rob Bateman, Away3D
- ^ Asociación y entrevista de JetBrains Archivado el 8 de marzo de 2016 en Wayback Machine , 28 de octubre de 2013, por Rob Bateman, Away3D
- ^ Extensiones Away , por The Away Foundation, Adobe Add-on Marketplace
- ^ Away3D , FlashMagazine
- ^ a b c d Funciones de Away3D, Away3D.com
- ^ Rendimiento Stage3D vs WebGL , interactivo hermético
- ^ Lanzamiento de Away3D 4.0 Alpha - Broomstick Archivado el23 de septiembre de 2011en la Wayback Machine , Away3D.com
- ^ a b c d e f Sitio web Mecanografiado de Away3D
- ^ AwayJS , GitHub
- ^ ¡ Away3D llega a TypeScript! , Blog del equipo de Adobe AIR y Adobe Flash Player
- ^ Away3D Typescript 4.1 Alpha , Blog de Away3D
- ^ Sperl, Daniel (5 de febrero de 2014). "Starling JS acudiendo en masa a la Fundación Away" . Gamua.
- ^ Presentación de AwayJS , Lanyrd, Rob Bateman, 20 de mayo de 2014
- ^ Tutorial: Away3D TypeScript: Resource Complete Archivado el 29 de agosto de 2014 en Wayback Machine , 7 de julio de 2014, Grok Digital Designs
- ^ Libro de cocina Away3d 3.6 , Amazon.com
- ^ Away3D 3.6 Essentials (experiencia comunitaria destilada) , Amazon.com
- ^ La guía esencial para 3D en Flash , Amazon.com
- ^ a b Away3D Lite Versión 1.0 , Away3D.com
- ^ a b Away3D Lite v1.0: motor 3d más rápido y más pequeño en Flash Archivado el 8 de marzo de 2016 en la Wayback Machine , Rob Bateman, 11 de septiembre de 2009, Away3D.com
- ^ Presentación de herramientas de desarrollo de juegos Archivado el 10 de agosto de 2014 en Wayback Machine , ByteArray.org
- ^ SDK para juegos , Adobe Systems
- ^ 2013: ¡A toda velocidad para Adobe Gaming! , Blog del equipo de Adobe AIR y Adobe Flash Player, Adobe
- ^ Adobe Gaming SDK actualizado , Adobe AIR y blog del equipo de Adobe Flash Player, Adobe
- ^ Hoja de ruta de la Fundación Away 2014 , Fundación Away3D
- ^ away3d 1.2.0 , portado a OpenFL 2.x / Haxe, Haxelib
Otras lecturas
- Richard Olsson; Rob Bateman (2010). La guía esencial para 3D en Flash . Presione. ISBN 978-1-4302-2541-6.
- Casperson, Matthew (2011). Away3D 3.6 Essentials . Packt Publishing Ltd. ISBN 978-1-84951-207-7.
- Ivanov, Michael (2011). Libro de cocina de Away3D 3.6 . Packt Publishing Ltd. ISBN 978-1-84951-281-7.
enlaces externos
- Página web oficial
- Away3d en GitHub