Væk 3D | |
---|---|
Type | gratis og open source software og grafikmotor |
Udvikler | Away Foundation |
Nøgleprogrammører _ | Rob Bateman, Alexander Zadorozhny, Fabrice Closier, Peter Kapelyan, Greg Caldwell, Andreas Engstrom, Stephen White, David Lenaerts, Richard Olsson, Cauê Waneck |
Udgivelses dato | 2007 |
Understøttet OS | Web , Windows , iOS , Android , BlackBerry |
Skrevet i tunger | ActionScript 3 , TypeScript |
Licens | Apache 2.0 |
nyeste version | 4.1.6 |
away3d.com |
Away3D er en open source platform til at skabe interaktive 3D applikationer og spil baseret på Adobe Flash eller HTML5 . Platformen består af en 3D-verdenseditor (Away Builder), [1] [2] en 3D-grafikmotor (Away3D eller AwayJS) og en 3D-fysikmotor (Away Physics). [3]
Implementeret af den britiske non-profit organisation Away Foundation , hvis mål er at skabe og vedligeholde gratis open source software til udvikling af højtydende mobilspil og applikationer. [4] Denne institution er finansieret af firmasponsorer (såsom Adobe , JetBrains og andre) og enkeltpersoner.
Away Builder er en åben IDE til import, forbedring, iscenesættelse og eksport af 3D-modeller og animationer. [1] Den er i stand til at importere data fra programmer som Autodesk 3ds Max , bage belysning ind i teksturkort. [1] Hovedformålet med denne komponent er at eksportere pakker med 3D-modeller til Away3D-motoren. [1] Away Builder understøtter det AWD-komprimerede binære format, hvilket gør det muligt at opnå mindre filstørrelser end ASCII - baserede formater (såsom OBJ ). [4] [5]
Away Extensions- pluginnet giver dig mulighed for at eksportere 3D- og 2D-projekter fra Adobe Animate til Away3D eller AwayJS. [6]
Away3D er en åben ActionScript 3 -motor til udvikling af interaktiv 3D-grafik ved hjælp af Adobe Flash Player og Adobe AIR . Away3D kører på browsere ved hjælp af Adobe Flash Player og bruger Stage3D til hardware-accelereret gengivelse .
Motoren kan gengive 3D-modeller og udføre forskellige andre beregninger relateret til 3D-grafik. Det understøtter hierarkisk objekttransformation med egenskaber som position, rotation, skalering, teksturgengivelse. [7]
Away3D er udstyret med følgende funktioner:
Away3D version 4 og nyere understøtter fuldt ud hardwareacceleration ved hjælp af Stage3D API introduceret i Adobe Flash Player 11, hvilket frigør CPU'en til andre computeropgaver. [8] Da GPU'er er i stand til at gengive flere teksturerede polygoner pr. sekund (op til 100K polygoner pr. frame i stedet for de sædvanlige 1000 polygoner, når der gengives ved hjælp af CPU), forbedrer dette billeddetaljerne og kvaliteten.
Away Physics er en fysikmotor baseret på Bullet til kollisionsdetektion, dynamisk gengivelse af stive og bløde kroppe. Det blev udviklet sammen med JiglibFlash-teamet og tæt integreret i Away3D-gengivelsespipelinen. [3]
AwayJS er en open source 3D-grafikgengivelsesmotor til webbrowsere, som er en port til Away3D baseret på Adobe Flash, [9] [10] som blev oprettet ved at overføre Away3D-kildekode til TypeScript -sproget . [11] Denne motor kører på moderne browsere og bruger WebGL til hardware-accelereret gengivelse. Det understøtter hierarkisk objekttransformation sammen med Away3D. [9]
AwayJS har følgende funktioner:
Motoren kan gengive både 2D- og 3D-indhold. [12] Dette giver udviklere mulighed for at bruge det eksisterende Away Builder-miljø til at redigere, forbedre, komprimere og bage teksturer af 3D-modeller, animationer. AwayJS kan også læse det tidligere nævnte AWD-format.
Motorens API er i overensstemmelse med Flash-versionen af Away3D, som hjælper udviklere med en problemfri overgang fra Flash til HTML5. For at sikre bagudkompatibilitet med Away3D giver AwayJS mulighed for at skrive shaders i AGAL (Adobe Graphics Assembly Language) og GLSL (OpenGL Shading Language). [9]
Udviklingen af platformen blev lanceret i 2007 af Alexander Zadorozhny og Rob Bateman som en udløber af Papervision3D-projektet. [13]
Med aktivt samfundsengagement erstattede Away3D snart Papervision3D med en opdatering, der tilføjede understøttelse af hardware-accelereret gengivelse ved hjælp af Stage3D. Der er udgivet tre bøger om udvikling af 3D-indhold med Away3D. [14] [15] [16]
En af forfatterne udtalte, at motoren oprindeligt blev skabt i hans fritid uden nogen seriøse hensigter. Efter at have opnået succes blandt reklamebureauer og spiludgivere, måtte forfatterne "følge med væksten i popularitet."
Vi havde aldrig troet, at projektet ville blive så stort, men vores mål har altid været at levere tilgængelige værktøjer og biblioteker til at hjælpe med at skabe 3D-indhold for alle – helt gratis og open source. Det bliver aldrig kedeligt at se folk skabe fantastiske ting ved hjælp af vores værktøjer og biblioteker. Desuden er der stadig så mange funktioner, som vi gerne vil forbedre eller tilføje.
- Rob Bateman i et interview med JetBrains. [fire]I 2009 udgav Away3D-fællesskabet Away3D Lite, en lettere version af motoren med mulighed for at tilføje annoncer og andet størrelsesbegrænset indhold. [17] Away3D Lite var den hurtigste og letteste 3D-motor bygget i Flash. Dens størrelse var 25 kilobyte, og hastigheden var 4 gange bedre end den fulde version. Der fulgte ingen yderligere versioner af programmet.
I 2011, i Game Engine Gems 2-bogen, i afsnittet "3D med Flash", blev Away3D og Alternativa3D opført som de foretrukne løsninger for deres ydeevne og funktionalitet, da begge havde det mest aktive udviklerfællesskab. [13]
I 2013 valgte Adobe Away3D som den eneste motor inkluderet i Adobe Gaming SDK. Virksomheden har finansieret videreudvikling af Away3D og Away Builder.
I 2016 blev Away3D 1.2 overført til multiplatformsproget Haxe , hvilket gjorde det muligt at krydskompilere motoren . Det giver dig også mulighed for at køre Away3D på OpenFL, en ramme med en API, der ligner Adobe Flash Player. [atten]
Spilmotorer | |||||||
---|---|---|---|---|---|---|---|
Grafisk | Ledig GLScene Horde3D Irrlicht OGRE OpenSceneGraph Proprietære Outra | ||||||
Fysisk | Ledig Box2D Kugle Jordegern newton O.D.E. Tokamak Proprietære DMM Havok Fysik PhysX | ||||||
generelle formål |
| ||||||
Specialiseret |
| ||||||
Liste over spilmotorer |