Webbutvecklarens guide till 3D-byggnad
NyheterWebens förmåga att leverera 3D-innehåll är inget nytt: människor har hittat sätt att skapa 3D i Flash sedan ActionScript 1.
Men det senaste året har det skett en förändring i form av rikedom och spridning av 3D-innehåll på webben. 3D är här för att stanna, och det är dags att varje webbdesigner och utvecklare satt upp och noterade. Så vad har hänt?
Användningen av Flash för leveransen av visuellt rik och nedsänkt innehåll har bara öppnats med introduktionen av AS3 och Flash Player 9. AS3 är ett mycket mer robust och kraftfullt programmeringsspråk än sin föregångare och AVM2 (ActionScript Virtual Machine 2) med Flash Player 9 introducerade många fördelar.
Medan det fanns 3D-bibliotek för AS2, var det med AS3 att öppna källkods 3D-bibliotek, inklusive Papervision3D och Away3D, kom fram som ett sätt att få 3D till Flash relativt enkelt. Sandy har också utvecklat ett AS3-bibliotek plus det finns alternativa, som är gratis för icke-kommersiell användning.
Flash Player 10
Med varje versionsversion av Flash Player introduceras en mängd nya funktioner och möjligheter och Flash Player 10 är inget undantag. Penetration sitter på runt 75 procent för de flesta marknader, så det borde inte vara länge innan publicering för Flash Player 10 blir normen. Här är några av de spännande nya funktionerna som erbjuds till 3D-utvecklare.
Native 3D: Hittills har 3D inte varit en inbyggd funktion i Flash. Och även om det inte på något sätt kommer att ersätta de öppna källkodsbiblioteken, kommer det att erbjuda en överlägsen lösning i fall där enkel 3D krävs. Det finns inga kameror, effekter, djup sortering, komplexa objekt eller 3D-modell stöd.
Men eftersom den är inbyggd är den väldigt snabb och lätt. För designers som bara vill ha enkla interaktiva 3D-element, erbjuder det ett helt nytt utbud av möjligheter. Alla visningsobjekt kan nu roteras och animeras längs x-, y- eller z-axeln i 3D-utrymme via Flash IDE eller ActionScript.
Pixel Bender: Pixel Bender verktygssit är tillgänglig gratis från Adobe. Det ger ett verktyg för att skapa, kompilera och exportera pixel shaders för användning i Flash Player 10 och andra CS4-produkter. Med olika former av inmatning körs pixelskäraren på varje pixel av ingångskällan med den enkla uppgiften att mata ut pixelvärdet efter det att beräkningarna har utförts.
PIXEL BENDER: Pixel Bender toolkit används för att skapa shaders som kan användas inom Flash för att skapa filter och effekter
Den körs på en lägre nivå än ActionScript och kör parallellt beräkningar, så det har möjlighet att utföra komplexa uppgifter vid blixtens hastighet. Den är främst avsedd för filter och effekter och kan animeras, så förvänta dig att se en snabb upptagning för dess användning i övergångseffekter och liknande. Utvecklare kan dela sina filter på Pixel Bender-utbytet.
Det finns också möjlighet att skicka andra typer av data som bitmapData, vektorer och byteArrays till shader. Det innebär att erfarna användare kommer att kunna utnyttja sin hastighet för att göra komplexa beräkningar för applikationer som avancerade fysik simuleringar, ljudbehandling och nummer crunching i 3D-motorer.
Alkemi: Alchemy gör att du kan kompilera befintliga C och C ++-kodbibliotek till AS3 som en SWF eller SWC för att köras inom FP10 eller AIR 1.5. De sammanställda biblioteken kan sedan nås direkt med AS3. Detta innebär att utvecklare kan utnyttja tusentals C-bibliotek med öppen källkod och kompilera dem som ska användas i sina webbapplikationer för att utöka möjligheterna till vad som är tekniskt möjligt.
Det sammanställda biblioteket kommer att vara perfekt för uppgifter som kräver intensiva beräkningar. Adobe Labs föreslår användningar som audio / video-omvandling, datapanulation, XML-analysering, kryptografiska funktioner eller fysiksimulering. De föreslår att prestanda kan vara betydligt snabbare än att försöka uppnå samma resultat med AS3 ensam.
Ritning API: Med varje ny version av Flash har det varit blygsamma uppdateringar på ritnings API men med Flash 10 är förändringarna allt annat än blygsamma. Till att börja med finns det ett mycket snabbare och mer kraftfullt sätt att rita linjer med den nya drawPath-metoden och införandet av lindning.
Triangelteckningsmetoder har lagts till, främst inriktade på 3D-effekter men användbara för mycket mer. Betydande förbättringar av bitmappfyllningar i kombination med den nya triangeln ger ett kraftfullt medel för att snedvrida bitmappar.
Och listan fortsätter, inklusive en uppsättning nya grafikdataklasser som kan fungera som behållare för att rita information och kan vidarebefordras, användas med något mål eller återanvändas.
Tänk på vad introduktionen av alla dessa funktioner innebär att du tänker. Å ena sidan finns det spänning på den enorma ökningen av potentialen, alla nya leksaker att leka med och det faktum att nästan alla visuella som kan uppfattas kan förmodligen nu realiseras inom ActionScript. Men samtidigt är det ånger i alltingens spiralande komplexitet.
Framtidens platser som definierar nästa epok i Flash kommer att kräva en överlägsen nivå av teknisk förståelse för att ens bli uppfattad. Den rent grafiska Flash-designerens roll kan bli begränsad när designers med teknisk förmåga börjar skina.