Away3D: Difference between revisions
m punct. |
m Mark as discontinued in software box |
||
(17 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
{{Use dmy dates|date=April 2022}} |
|||
{{Infobox software |
{{Infobox software |
||
| title = |
| title = |
||
Line 13: | Line 14: | ||
| author = Rob Bateman, Alexander Zadorozhny, Fabrice Closier, Peter Kapelyan, Greg Caldwell, Andreas Engstrom, Stephen White, David Lenaerts, Richard Olsson, Cauê Waneck<ref>[http://away3d.com/team Away3D Team], at the Official Website</ref> |
| author = Rob Bateman, Alexander Zadorozhny, Fabrice Closier, Peter Kapelyan, Greg Caldwell, Andreas Engstrom, Stephen White, David Lenaerts, Richard Olsson, Cauê Waneck<ref>[http://away3d.com/team Away3D Team], at the Official Website</ref> |
||
| developer = Away Foundation |
| developer = Away Foundation |
||
| released = {{Start date and age|2007}}<ref name=started2007>[https://code.google.com/p/away3d/ Away3D project page], Google code</ref><ref name="Lengyel2011">{{cite book|editor=Eric Lengyel|title=Game Engine Gems 2|year=2011|publisher=CRC Press|isbn=978-1-56881-437-7|chapter=3D in a Web Browser|first=Remi|last=Arnaud|pages=207–208|url=https://books.google.com/books?id=QbSf3XwfM7EC&pg=PA207}}</ref> |
| released = {{Start date and age|2007}}<ref name=started2007>[https://code.google.com/p/away3d/ Away3D project page], Google code</ref><ref name="Lengyel2011">{{cite book|editor=Eric Lengyel|title=Game Engine Gems 2|year=2011|publisher=CRC Press|isbn=978-1-56881-437-7|chapter=3D in a Web Browser|first=Remi|last=Arnaud|pages=207–208|chapter-url=https://books.google.com/books?id=QbSf3XwfM7EC&pg=PA207}}</ref> |
||
| discontinued = |
| discontinued = yes |
||
| latest release version = 4.1.6 |
| latest release version = 4.1.6 |
||
| latest release date = {{Start date and age|2014|01|24}}<ref>{{cite web |title=Away3D 4.1.6 Release |url=http://away3d.com/comments/away3d_4.1.6_release}}</ref> |
| latest release date = {{Start date and age|df=yes|2014|01|24}}<ref>{{cite web |title=Away3D 4.1.6 Release |url=http://away3d.com/comments/away3d_4.1.6_release |access-date=2015-11-24 |archive-url=https://web.archive.org/web/20151125081513/http://away3d.com/comments/away3d_4.1.6_release |archive-date=2015-11-25 |url-status=dead }}</ref> |
||
| latest preview version = |
| latest preview version = |
||
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> |
||
| status = Active |
|||
| programming language = [[ActionScript 3]], [[TypeScript]] |
| programming language = [[ActionScript 3]], [[TypeScript]] |
||
| operating system = [[World Wide Web|Web]], [[Windows]], [[iOS]], [[Android (operating system)|Android]], [[BlackBerry]] |
| operating system = [[World Wide Web|Web]], [[Windows]], [[iOS]], [[Android (operating system)|Android]], [[BlackBerry]] |
||
Line 35: | Line 35: | ||
}} |
}} |
||
'''Away3D''' is an [[open-source]] platform for developing interactive 3D graphics for [[video game]]s and [[Software application|application]]s, in [[Adobe Flash]] or [[HTML5]]. The platform consists of a 3D world editor (Away Builder),<ref name="builder">[http://awaytools.com/awaybuilder/ Away Builder], Away Tools</ref><ref>[https://github.com/awaytools/AwayBuilder Away Builder], [[GitHub]] repository</ref> a [[3D graphics|3D]] [[Game engine|graphics engine]] (Away3D or AwayJS), a 3D physics engine (Away Physics)<ref name="physics">[http://www.theawayfoundation.org/projects/away-physics/ Away Physics], Away Foundation</ref> and a compressed 3D model file format (AWD).<ref name="awd1">[http://awdformat.com/ AWD Format Website]</ref><ref name="awd2">[http://awaytools.com/awdformat/ AWD Format], Away Tools</ref><ref name="jet">{{cite web|url=http://blog.jetbrains.com/blog/2013/10/28/interview-with-robert-bateman-founder-of-away3d-an-open-source-3d-engine-for-the-flash-platform/|publisher=[[JetBrains]]|date=2013-10-28|first=Elena|last=Ganenkova|title=Interview with Robert Bateman, founder of Away3d, an open-source 3D engine for the Flash Platform}}</ref> |
'''Away3D''' is an [[open-source software|open-source]] platform for developing interactive 3D graphics for [[video game]]s and [[Software application|application]]s, in [[Adobe Flash]] or [[HTML5]]. The platform consists of a 3D world editor (Away Builder),<ref name="builder">[http://awaytools.com/awaybuilder/ Away Builder], Away Tools</ref><ref>[https://github.com/awaytools/AwayBuilder Away Builder], [[GitHub]] repository</ref> a [[3D graphics|3D]] [[Game engine|graphics engine]] (Away3D or AwayJS), a 3D physics engine (Away Physics)<ref name="physics">[http://www.theawayfoundation.org/projects/away-physics/ Away Physics], Away Foundation</ref> and a compressed 3D model file format (AWD).<ref name="awd1">[http://awdformat.com/ AWD Format Website]</ref><ref name="awd2">[http://awaytools.com/awdformat/ AWD Format], Away Tools</ref><ref name="jet">{{cite web|url=http://blog.jetbrains.com/blog/2013/10/28/interview-with-robert-bateman-founder-of-away3d-an-open-source-3d-engine-for-the-flash-platform/|publisher=[[JetBrains]]|date=2013-10-28|first=Elena|last=Ganenkova|title=Interview with Robert Bateman, founder of Away3d, an open-source 3D engine for the Flash Platform}}</ref> |
||
Development is managed by the '''Away Foundation''', a [[UK]]-based [[non-profit]] |
Development is managed by the '''Away Foundation''', a [[UK]]-based [[non-profit]] focused on building and maintaining [[free and open-source]] software resources for high-performance [[mobile game]]s and [[Software application|application]]s.<ref name="jet"/><ref name="foundation">{{cite web|url=http://blogs.adobe.com/flashplayer/2012/07/qa-with-the-away-foundations-rob-bateman.html|publisher=Adobe|title=Q&A With The Away Foundation's Rob Bateman|first=Michael|last=Hu|date=2012-07-17}}</ref> The foundation is supported by corporate sponsorship ([[Adobe Systems|Adobe]],<ref>[http://away3d.com/comments/away3d_adobe_and_the_away_foundation Away3D & Adobe] {{Webarchive|url=https://web.archive.org/web/20160308065444/http://away3d.com/comments/away3d_adobe_and_the_away_foundation |date=2016-03-08 }}, 17 Jul 2012, by Rob Bateman, Away3D</ref> [[JetBrains]]<ref>[http://away3d.com/comments/jetbrains_partnership_and_interview JetBrains partnership and interview] {{Webarchive|url=https://web.archive.org/web/20160308064804/http://away3d.com/comments/jetbrains_partnership_and_interview |date=2016-03-08 }}, 28 Oct 2013, by Rob Bateman, Away3D</ref> among others) and individual donors.<ref name="foundation"/> |
||
==Platform== |
==Platform== |
||
===Away Builder=== |
===Away Builder=== |
||
'''Away Builder''' is an [[open-source]] [[integrated development environment]] for importing, refining, preparing and exporting 3D models and animations.<ref name="builder"/> It can import 3D models from various 3D applications such as [[Autodesk 3ds Max]], and can bake lighting into texture maps.<ref name="builder"/> The primary purpose of Away Builder is exporting 3D model packages for the Away3D engine.<ref name="builder"/> It supports the compressed AWD binary format, enabling smaller sizes for 3D models than [[ASCII]]-based formats such as [[Wavefront .obj file|OBJ]]. |
'''Away Builder''' is an [[open-source software|open-source]] [[integrated development environment]] for importing, refining, preparing and exporting 3D models and animations.<ref name="builder"/> It can import 3D models from various 3D applications such as [[Autodesk 3ds Max]], and can bake lighting into texture maps.<ref name="builder"/> The primary purpose of Away Builder is exporting 3D model packages for the Away3D engine.<ref name="builder"/> It supports the compressed AWD binary format, enabling smaller sizes for 3D models than [[ASCII]]-based formats such as [[Wavefront .obj file|OBJ]]. |
||
The Away |
The Away Extension's plugin enables exporting 2D and 3D content from [[Adobe Animate]] into Away3D or AwayJS.<ref>[https://creative.adobe.com/addons/products/14477 Away Extensions], By The Away Foundation, Adobe Add-on Marketplace</ref> |
||
===Away3D=== |
===Away3D=== |
||
'''Away3D''' is an [[open-source]] [[ActionScript 3]] engine for developing interactive 3D graphics within [[Adobe Flash Player]] and [[Adobe AIR]]. Away3D runs on current [[web browser]]s utilizing the [[Adobe Flash Player]], and uses [[Stage3D]] for GPU-accelerated rendering. |
'''Away3D''' is an [[open-source software|open-source]] [[ActionScript 3]] engine for developing interactive 3D graphics within [[Adobe Flash Player]] and [[Adobe AIR]]. Away3D runs on current [[web browser]]s utilizing the [[Adobe Flash Player]], and uses [[Stage3D]] for GPU-accelerated rendering.{{fact|date=April 2022}} |
||
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap [[Texture mapping|textures]].<ref>[http://www.flashmagazine.com/Tutorials/category/away3d/ Away3D], FlashMagazine</ref><ref name="a3df"/> Real-time lighting and illumination is supported using [[Phong shading]], [[Gouraud shading]], [[Computer graphics lighting|point and directional lighting]], [[shadow map|cascading shadows]], [[normal mapping|normal and specular mapping]], [[global illumination]] and fog effects.<ref name="foundation"/><ref name="a3df"/> It also supports [[Anaglyph 3D|stereoscopic rendering]], [[3D audio effect|3D sound]], [[Polygonal modeling|extrusion tools]], [[particle system|particle animation]] and [[skeletal animation]].<ref name="a3df"/> [[Video post-processing#Uses in 3D rendering|Post-processing effects]] may be used to enhance the quality of the graphics, and Away3D supports [[Bloom (shader effect)|bloom]], [[Motion blur|blur]], [[depth of field]] and [[motion blur]].<ref name="a3df">[http://away3d.com/features/ Away3D Features], Away3D.com</ref> |
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap [[Texture mapping|textures]].<ref>[http://www.flashmagazine.com/Tutorials/category/away3d/ Away3D], FlashMagazine</ref><ref name="a3df"/> Real-time lighting and illumination is supported using [[Phong shading]], [[Gouraud shading]], [[Computer graphics lighting|point and directional lighting]], [[shadow map|cascading shadows]], [[normal mapping|normal and specular mapping]], [[global illumination]] and fog effects.<ref name="foundation"/><ref name="a3df"/> It also supports [[Anaglyph 3D|stereoscopic rendering]], [[3D audio effect|3D sound]], [[Polygonal modeling|extrusion tools]], [[particle system|particle animation]] and [[skeletal animation]].<ref name="a3df"/> [[Video post-processing#Uses in 3D rendering|Post-processing effects]] may be used to enhance the quality of the graphics, and Away3D supports [[Bloom (shader effect)|bloom]], [[Motion blur|blur]], [[depth of field]] and [[motion blur]].<ref name="a3df">[http://away3d.com/features/ Away3D Features], Away3D.com</ref> |
||
Away3D 4 and onwards fully supports [[Graphics Processing Unit|GPU]]-accelerated graphics using the [[Stage3D]] API introduced in Flash Player 11, freeing up the CPU for other computational tasks.<ref>[http://www.airtightinteractive.com/2011/10/stage3d-vs-webgl-performance/ Stage3D vs WebGL Performance], Airtight Interactive</ref> Since [[Graphics Processing Unit|GPU]]s are capable of rendering many more textured triangles per second, it allows for much more detail and quality, and up to 100,000 triangles per frame instead of the typical 1,000 ceiling with CPU-based Flash rendering.<ref>[http://away3d.com/comments/away3d-4-0-alpha-release-broomstick Away3D 4.0 Alpha release - Broomstick], Away3D.com</ref> |
Away3D 4 and onwards fully supports [[Graphics Processing Unit|GPU]]-accelerated graphics using the [[Stage3D]] API introduced in Flash Player 11, freeing up the CPU for other computational tasks.<ref>[http://www.airtightinteractive.com/2011/10/stage3d-vs-webgl-performance/ Stage3D vs WebGL Performance], Airtight Interactive</ref> Since [[Graphics Processing Unit|GPU]]s are capable of rendering many more textured triangles per second, it allows for much more detail and quality, and up to 100,000 triangles per frame instead of the typical 1,000 ceiling with CPU-based Flash rendering.<ref>[http://away3d.com/comments/away3d-4-0-alpha-release-broomstick Away3D 4.0 Alpha release - Broomstick] {{Webarchive|url=https://web.archive.org/web/20110923201804/http://away3d.com/comments/away3d-4-0-alpha-release-broomstick |date=2011-09-23 }}, Away3D.com</ref> |
||
Away Physics is a physics engine based on the [[Bullet (software)|Bullet]] physics library, for [[collision detection]], soft and [[rigid body]] dynamics.<ref name="physics"/> The engine is built jointly by the Away3D team and the JiglibFlash team, and is tightly integrated with the Away3D render pipeline.<ref name="physics"/> |
Away Physics is a physics engine based on the [[Bullet (software)|Bullet]] physics library, for [[collision detection]], soft and [[rigid body]] dynamics.<ref name="physics"/> The engine is built jointly by the Away3D team and the JiglibFlash team, and is tightly integrated with the Away3D render pipeline.<ref name="physics"/> |
||
===AwayJS=== |
===AwayJS=== |
||
'''AwayJS''' is an [[open-source]] [[JavaScript]] 3D graphics rendering engine for [[HTML5]] [[web browser]]s, and is a port of the [[Adobe Flash]]-based Away3D.<ref name="tsa"> |
'''AwayJS''' is an [[open-source software|open-source]] [[JavaScript]] 3D graphics rendering engine for [[HTML5]] [[web browser]]s, and is a port of the [[Adobe Flash]]-based Away3D.<ref name="tsa">{{Cite web |url=http://typescript.away3d.com/ |title=Away3D Typescript Website |access-date=20 September 2014 |archive-date=17 September 2021 |archive-url=https://web.archive.org/web/20210917094833/http://typescript.away3d.com/ |url-status=dead }}</ref><ref>[https://github.com/awayjs AwayJS], [[GitHub]]</ref> The Away3D codebase was ported to Microsoft [[TypeScript]], a strongly-typed version of [[JavaScript]] that compiles to JavaScript files for compatibility with modern web standards.<ref>[http://blogs.adobe.com/flashplayer/2013/10/away3d-makes-its-way-to-typescript.html Away3D makes its way to Typescript!], Adobe AIR and Adobe Flash Player Team Blog</ref><ref>[http://away3d.com/comments/typescript.away3d.com Away3D Typescript 4.1 Alpha], Away3D Blog</ref> AwayJS runs on current [[web browser]]s and uses [[WebGL]] for GPU-accelerated rendering.<ref name="tsa"/> |
||
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap [[Texture mapping|textures]], and real-time lighting using [[Phong shading]] or [[Gouraud shading]].<ref name="tsa"/> It also supports [[shadow map]]ping, [[particle system|particle animation]] and [[skeletal animation]].<ref name="tsa"/> |
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap [[Texture mapping|textures]], and real-time lighting using [[Phong shading]] or [[Gouraud shading]].<ref name="tsa"/> It also supports [[shadow map]]ping, [[particle system|particle animation]] and [[skeletal animation]].<ref name="tsa"/> |
||
AwayJS can render 2D and 3D graphical content using [[WebGL]] for GPU-accelerated rendering.<ref>{{cite web|url=http://gamua.com/blog/2014/02/starling-js/|title=Starling JS flocking to the Away Foundation|date=2014-02-05|first=Daniel|last=Sperl|publisher=Gamua}}</ref> It enables developers to use the existing Away Builder toolkit for editing, refining, compressing and [[texture mapping|texture]] baking 3D models and animations.<ref>[http://lanyrd.com/2014/multimania/scytxb/ Introducing AwayJS], Lanyrd, Rob Bateman, |
AwayJS can render 2D and 3D graphical content using [[WebGL]] for GPU-accelerated rendering.<ref>{{cite web|url=http://gamua.com/blog/2014/02/starling-js/|title=Starling JS flocking to the Away Foundation|date=2014-02-05|first=Daniel|last=Sperl|publisher=Gamua}}</ref> It enables developers to use the existing Away Builder toolkit for editing, refining, compressing and [[texture mapping|texture]] baking 3D models and animations.<ref>[http://lanyrd.com/2014/multimania/scytxb/ Introducing AwayJS], Lanyrd, Rob Bateman, 20 May 2014</ref> AwayJS also supports the compressed AWD binary format, enabling smaller sizes for 3D models than [[ASCII]]-based formats such as [[Wavefront .obj file|OBJ]].<ref>[http://blog.grokdd.com/tutorial-away3d-typescript-resource-complete/ Tutorial: Away3D TypeScript: Resource Complete] {{Webarchive|url=https://web.archive.org/web/20140829102754/http://blog.grokdd.com/tutorial-away3d-typescript-resource-complete/ |date=2014-08-29 }}, 7 July 2014, Grok Digital Designs</ref> |
||
The AwayJS API is consistent with the Flash version of Away3D, enabling existing developers to migrate from Flash to HTML5 seamlessly.<ref name="tsa"/> To preserve backward-compatibility with Away3D, AwayJS enables developers to write GPU shaders in the |
The AwayJS API is consistent with the Flash version of Away3D, enabling existing developers to migrate from Flash to HTML5 seamlessly.<ref name="tsa"/> To preserve backward-compatibility with Away3D, AwayJS enables developers to write GPU shaders in the [[Adobe Graphics Assembly Language]] (AGAL), or the standard [[OpenGL Shading Language]] (GLSL).<ref name="tsa"/> |
||
==History== |
==History== |
||
Away3D was started in 2007 by Alexander Zadorozhny and Rob Bateman<ref name=started2007 /> as a [[Fork (software development)|fork]] of [[Papervision3D]].<ref name="Lengyel2011" /> |
Away3D was started in 2007 by Alexander Zadorozhny and Rob Bateman<ref name=started2007 /> as a [[Fork (software development)|fork]] of [[Papervision3D]].<ref name="Lengyel2011" /> |
||
Away3D saw active community involvement since its introduction in 2007, and superseded [[Papervision3D]] after it was updated to support GPU-accelerated rendering using [[Stage3D]]. Three guide books have been published on 3D content development with Away3D.<ref name="Away3d 3.6 Cookbook">[ |
Away3D saw active community involvement since its introduction in 2007, and superseded [[Papervision3D]] after it was updated to support GPU-accelerated rendering using [[Stage3D]]. Three guide books have been published on 3D content development with Away3D.<ref name="Away3d 3.6 Cookbook">[https://www.amazon.com/Away3d-3-6-Cookbook-Michael-Ivanov/dp/1849512809 Away3d 3.6 Cookbook], Amazon.com</ref><ref>[https://www.amazon.com/Away3D-Essentials-Community-Experience-Distilled/dp/184951206X/ref=pd_bxgy_b_text_y Away3D 3.6 Essentials (Community Experience Distilled)], Amazon.com</ref><ref>[https://www.amazon.com/The-Essential-Guide-3D-Flash/dp/1430225416/ref=pd_bxgy_b_text_z The Essential Guide to 3D in Flash], Amazon.com</ref> |
||
The author states that the engine began as a spare-time project, and was created for fun. After large [[Advertising agency|ad agencies]] and [[game publisher]]s started it, they had to "evolve to keep pace". In an interview he further states: |
The author states that the engine began as a spare-time project, and was created for fun. After large [[Advertising agency|ad agencies]] and [[Video game publisher|game publisher]]s started it, they had to "evolve to keep pace". In an interview he further states: |
||
{{cquote|We never realized how big it would become, but our intention has always been to provide accessible tools and libraries that assist in the creation of 3D content, for anyone, all for free and open source. Seeing what amazing things people build with our libraries never gets boring, and there is still so much we want to improve and add.|author=Robert Bateman, Founder|source=Interview with Robert Bateman, founder of Away3d, by [[JetBrains]]<ref name="jet"/>}} |
{{cquote|We never realized how big it would become, but our intention has always been to provide accessible tools and libraries that assist in the creation of 3D content, for anyone, all for free and open source. Seeing what amazing things people build with our libraries never gets boring, and there is still so much we want to improve and add.|author=Robert Bateman, Founder|source=Interview with Robert Bateman, founder of Away3d, by [[JetBrains]]<ref name="jet"/>}} |
||
In 2009, the Away3D community released Away3D Lite, a lighter version of the engine for Flash advertisements and other size-constrained content.<ref name="lite1">[http://away3d.com/download/away3d_lite_version_1.0 Away3D Lite Version 1.0], Away3D.com</ref><ref name="lite2">[http://away3d.com/comments/away3d-lite-v1-0-fastest-and-smallest-3d-engine-in-flash Away3D Lite v1.0: fastest and smallest 3d engine in Flash], Rob Bateman, 11 Sep 2009, Away3D.com</ref> Away3D Lite was the fastest and smallest full-featured 3D engine built for Flash. It weighed in at |
In 2009, the Away3D community released Away3D Lite, a lighter version of the engine for Flash advertisements and other size-constrained content.<ref name="lite1">[http://away3d.com/download/away3d_lite_version_1.0 Away3D Lite Version 1.0], Away3D.com</ref><ref name="lite2">[http://away3d.com/comments/away3d-lite-v1-0-fastest-and-smallest-3d-engine-in-flash Away3D Lite v1.0: fastest and smallest 3d engine in Flash] {{Webarchive|url=https://web.archive.org/web/20160308050416/http://away3d.com/comments/away3d-lite-v1-0-fastest-and-smallest-3d-engine-in-flash |date=2016-03-08 }}, Rob Bateman, 11 Sep 2009, Away3D.com</ref> Away3D Lite was the fastest and smallest full-featured 3D engine built for Flash. It weighed in at 25 KB and performed 4 times faster than the full Away3D engine.<ref name="lite2"/> No future versions were released.<ref name="lite1"/> |
||
In 2011, a Flash book noted in the section on "3D with Flash" that "Away3D and Alternativa3D are currently the preferred solution for performance and features because they have a more active development community".<ref name="Lengyel2011"/> |
In 2011, a Flash book noted in the section on "3D with Flash" that "Away3D and Alternativa3D are currently the preferred solution for performance and features because they have a more active development community".<ref name="Lengyel2011"/> |
||
In 2013, Adobe chose Away3D as the sole 3D engine included within the Adobe Gaming SDK.<ref>[http://www.bytearray.org/?p=4969 Introducing Game Development Tools], ByteArray.org</ref><ref>[https://creative.adobe.com/products/gaming-sdk Gaming SDK], [[Adobe Systems]]</ref> Since then, Adobe has funded further development in Away3D and Away Builder,<ref name="funding">[http://blogs.adobe.com/flashplayer/2013/01/2013-full-speed-ahead-for-adobe-gaming.html 2013: Full Speed Ahead for Adobe Gaming!], Adobe AIR and Adobe Flash Player Team Blog, Adobe</ref> and has updated the Adobe Gaming SDK with new releases of Away3D.<ref name="Adobe Gaming SDK Updated">[http://blogs.adobe.com/flashplayer/2013/07/adobe-gaming-sdk-updated.html Adobe Gaming SDK Updated], Adobe AIR and Adobe Flash Player Team Blog, Adobe</ref |
In 2013, Adobe chose Away3D as the sole 3D engine included within the Adobe Gaming SDK.<ref>[http://www.bytearray.org/?p=4969 Introducing Game Development Tools] {{Webarchive|url=https://web.archive.org/web/20140810152547/http://www.bytearray.org/?p=4969 |date=2014-08-10 }}, ByteArray.org</ref><ref>[https://creative.adobe.com/products/gaming-sdk Gaming SDK], [[Adobe Systems]]</ref> Since then, Adobe has funded further development in Away3D and Away Builder,<ref name="funding">[http://blogs.adobe.com/flashplayer/2013/01/2013-full-speed-ahead-for-adobe-gaming.html 2013: Full Speed Ahead for Adobe Gaming!], Adobe AIR and Adobe Flash Player Team Blog, Adobe</ref> and has updated the Adobe Gaming SDK with new releases of Away3D.<ref name="Adobe Gaming SDK Updated">[http://blogs.adobe.com/flashplayer/2013/07/adobe-gaming-sdk-updated.html Adobe Gaming SDK Updated], Adobe AIR and Adobe Flash Player Team Blog, Adobe</ref> |
||
In 2016, Away3D 1.2 was ported to the [[Haxe]] multiplatform language, enabling it to be cross-compiled to [[JavaScript]] and other languages that support 3D graphics.<ref>[http://www.theawayfoundation.org/posts/away-foundation-roadmap-2014/ Away Foundation roadmap 2014], Away3D Foundation</ref> This also enables Away3D to run on [[OpenFL]], a |
In 2016, Away3D 1.2 was ported to the [[Haxe]] multiplatform language, enabling it to be cross-compiled to [[JavaScript]] and other languages that support 3D graphics.<ref>[http://www.theawayfoundation.org/posts/away-foundation-roadmap-2014/ Away Foundation roadmap 2014], Away3D Foundation</ref> This also enables Away3D to run on [[OpenFL]], a software framework with an API that is very similar to [[Adobe Flash Player]] API.<ref>[http://lib.haxe.org/p/away3d/ away3d 1.2.0], Ported to OpenFL 2.x/Haxe, [[Haxe]]lib</ref> |
||
==References== |
==References== |
||
Line 98: | Line 98: | ||
[[Category:Free 3D graphics software]] |
[[Category:Free 3D graphics software]] |
||
[[Category:Free game engines]] |
[[Category:Free game engines]] |
||
[[Category:Software using the Apache license]] |
Latest revision as of 15:06, 19 June 2024
Original author(s) | Rob Bateman, Alexander Zadorozhny, Fabrice Closier, Peter Kapelyan, Greg Caldwell, Andreas Engstrom, Stephen White, David Lenaerts, Richard Olsson, Cauê Waneck[1] |
---|---|
Developer(s) | Away Foundation |
Initial release | 2007[2][3] |
Final release | 4.1.6
/ 24 January 2014[4] |
Repository | |
Written in | ActionScript 3, TypeScript |
Operating system | Web, Windows, iOS, Android, BlackBerry |
Type | Game engine |
License | Apache License 2.0 |
Website | away3d |
Away3D is an open-source platform for developing interactive 3D graphics for video games and applications, in Adobe Flash or HTML5. The platform consists of a 3D world editor (Away Builder),[5][6] a 3D graphics engine (Away3D or AwayJS), a 3D physics engine (Away Physics)[7] and a compressed 3D model file format (AWD).[8][9][10]
Development is managed by the Away Foundation, a UK-based non-profit focused on building and maintaining free and open-source software resources for high-performance mobile games and applications.[10][11] The foundation is supported by corporate sponsorship (Adobe,[12] JetBrains[13] among others) and individual donors.[11]
Platform
[edit]Away Builder
[edit]Away Builder is an open-source integrated development environment for importing, refining, preparing and exporting 3D models and animations.[5] It can import 3D models from various 3D applications such as Autodesk 3ds Max, and can bake lighting into texture maps.[5] The primary purpose of Away Builder is exporting 3D model packages for the Away3D engine.[5] It supports the compressed AWD binary format, enabling smaller sizes for 3D models than ASCII-based formats such as OBJ.
The Away Extension's plugin enables exporting 2D and 3D content from Adobe Animate into Away3D or AwayJS.[14]
Away3D
[edit]Away3D is an open-source ActionScript 3 engine for developing interactive 3D graphics within Adobe Flash Player and Adobe AIR. Away3D runs on current web browsers utilizing the Adobe Flash Player, and uses Stage3D for GPU-accelerated rendering.[citation needed]
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap textures.[15][16] Real-time lighting and illumination is supported using Phong shading, Gouraud shading, point and directional lighting, cascading shadows, normal and specular mapping, global illumination and fog effects.[11][16] It also supports stereoscopic rendering, 3D sound, extrusion tools, particle animation and skeletal animation.[16] Post-processing effects may be used to enhance the quality of the graphics, and Away3D supports bloom, blur, depth of field and motion blur.[16]
Away3D 4 and onwards fully supports GPU-accelerated graphics using the Stage3D API introduced in Flash Player 11, freeing up the CPU for other computational tasks.[17] Since GPUs are capable of rendering many more textured triangles per second, it allows for much more detail and quality, and up to 100,000 triangles per frame instead of the typical 1,000 ceiling with CPU-based Flash rendering.[18]
Away Physics is a physics engine based on the Bullet physics library, for collision detection, soft and rigid body dynamics.[7] The engine is built jointly by the Away3D team and the JiglibFlash team, and is tightly integrated with the Away3D render pipeline.[7]
AwayJS
[edit]AwayJS is an open-source JavaScript 3D graphics rendering engine for HTML5 web browsers, and is a port of the Adobe Flash-based Away3D.[19][20] The Away3D codebase was ported to Microsoft TypeScript, a strongly-typed version of JavaScript that compiles to JavaScript files for compatibility with modern web standards.[21][22] AwayJS runs on current web browsers and uses WebGL for GPU-accelerated rendering.[19]
The engine can render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as position, rotation and scaling, rendering of bitmap textures, and real-time lighting using Phong shading or Gouraud shading.[19] It also supports shadow mapping, particle animation and skeletal animation.[19]
AwayJS can render 2D and 3D graphical content using WebGL for GPU-accelerated rendering.[23] It enables developers to use the existing Away Builder toolkit for editing, refining, compressing and texture baking 3D models and animations.[24] AwayJS also supports the compressed AWD binary format, enabling smaller sizes for 3D models than ASCII-based formats such as OBJ.[25]
The AwayJS API is consistent with the Flash version of Away3D, enabling existing developers to migrate from Flash to HTML5 seamlessly.[19] To preserve backward-compatibility with Away3D, AwayJS enables developers to write GPU shaders in the Adobe Graphics Assembly Language (AGAL), or the standard OpenGL Shading Language (GLSL).[19]
History
[edit]Away3D was started in 2007 by Alexander Zadorozhny and Rob Bateman[2] as a fork of Papervision3D.[3]
Away3D saw active community involvement since its introduction in 2007, and superseded Papervision3D after it was updated to support GPU-accelerated rendering using Stage3D. Three guide books have been published on 3D content development with Away3D.[26][27][28]
The author states that the engine began as a spare-time project, and was created for fun. After large ad agencies and game publishers started it, they had to "evolve to keep pace". In an interview he further states:
We never realized how big it would become, but our intention has always been to provide accessible tools and libraries that assist in the creation of 3D content, for anyone, all for free and open source. Seeing what amazing things people build with our libraries never gets boring, and there is still so much we want to improve and add.
In 2009, the Away3D community released Away3D Lite, a lighter version of the engine for Flash advertisements and other size-constrained content.[29][30] Away3D Lite was the fastest and smallest full-featured 3D engine built for Flash. It weighed in at 25 KB and performed 4 times faster than the full Away3D engine.[30] No future versions were released.[29]
In 2011, a Flash book noted in the section on "3D with Flash" that "Away3D and Alternativa3D are currently the preferred solution for performance and features because they have a more active development community".[3]
In 2013, Adobe chose Away3D as the sole 3D engine included within the Adobe Gaming SDK.[31][32] Since then, Adobe has funded further development in Away3D and Away Builder,[33] and has updated the Adobe Gaming SDK with new releases of Away3D.[34]
In 2016, Away3D 1.2 was ported to the Haxe multiplatform language, enabling it to be cross-compiled to JavaScript and other languages that support 3D graphics.[35] This also enables Away3D to run on OpenFL, a software framework with an API that is very similar to Adobe Flash Player API.[36]
References
[edit]- ^ Away3D Team, at the Official Website
- ^ a b Away3D project page, Google code
- ^ a b c Arnaud, Remi (2011). "3D in a Web Browser". In Eric Lengyel (ed.). Game Engine Gems 2. CRC Press. pp. 207–208. ISBN 978-1-56881-437-7.
- ^ "Away3D 4.1.6 Release". Archived from the original on 25 November 2015. Retrieved 24 November 2015.
- ^ a b c d Away Builder, Away Tools
- ^ Away Builder, GitHub repository
- ^ a b c Away Physics, Away Foundation
- ^ AWD Format Website
- ^ AWD Format, Away Tools
- ^ a b c Ganenkova, Elena (28 October 2013). "Interview with Robert Bateman, founder of Away3d, an open-source 3D engine for the Flash Platform". JetBrains.
- ^ a b c Hu, Michael (17 July 2012). "Q&A With The Away Foundation's Rob Bateman". Adobe.
- ^ Away3D & Adobe Archived 2016-03-08 at the Wayback Machine, 17 Jul 2012, by Rob Bateman, Away3D
- ^ JetBrains partnership and interview Archived 2016-03-08 at the Wayback Machine, 28 Oct 2013, by Rob Bateman, Away3D
- ^ Away Extensions, By The Away Foundation, Adobe Add-on Marketplace
- ^ Away3D, FlashMagazine
- ^ a b c d Away3D Features, Away3D.com
- ^ Stage3D vs WebGL Performance, Airtight Interactive
- ^ Away3D 4.0 Alpha release - Broomstick Archived 2011-09-23 at the Wayback Machine, Away3D.com
- ^ a b c d e f "Away3D Typescript Website". Archived from the original on 17 September 2021. Retrieved 20 September 2014.
- ^ AwayJS, GitHub
- ^ Away3D makes its way to Typescript!, Adobe AIR and Adobe Flash Player Team Blog
- ^ Away3D Typescript 4.1 Alpha, Away3D Blog
- ^ Sperl, Daniel (5 February 2014). "Starling JS flocking to the Away Foundation". Gamua.
- ^ Introducing AwayJS, Lanyrd, Rob Bateman, 20 May 2014
- ^ Tutorial: Away3D TypeScript: Resource Complete Archived 2014-08-29 at the Wayback Machine, 7 July 2014, Grok Digital Designs
- ^ Away3d 3.6 Cookbook, Amazon.com
- ^ Away3D 3.6 Essentials (Community Experience Distilled), Amazon.com
- ^ The Essential Guide to 3D in Flash, Amazon.com
- ^ a b Away3D Lite Version 1.0, Away3D.com
- ^ a b Away3D Lite v1.0: fastest and smallest 3d engine in Flash Archived 2016-03-08 at the Wayback Machine, Rob Bateman, 11 Sep 2009, Away3D.com
- ^ Introducing Game Development Tools Archived 2014-08-10 at the Wayback Machine, ByteArray.org
- ^ Gaming SDK, Adobe Systems
- ^ 2013: Full Speed Ahead for Adobe Gaming!, Adobe AIR and Adobe Flash Player Team Blog, Adobe
- ^ Adobe Gaming SDK Updated, Adobe AIR and Adobe Flash Player Team Blog, Adobe
- ^ Away Foundation roadmap 2014, Away3D Foundation
- ^ away3d 1.2.0, Ported to OpenFL 2.x/Haxe, Haxelib
Further reading
[edit]- Richard Olsson; Rob Bateman (2010). The Essential Guide to 3D in Flash. Apress. 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). Away3D 3.6 Cookbook. Packt Publishing Ltd. ISBN 978-1-84951-281-7.