Posts Tagged ‘plugin’
Well it has happened, Unity announced WebGL exporting. This was a much needed announcement and our flash man on the inside, UnitZeroOne / Ralph Hauwert of good ol’ Papervision days, helped make it so. Thanks Ralph and Unity team!
This feature is in Unity 5 as a preview just announced but with the impending plugin-pocapyse I am sure it is a major focus at Unity to get to production stage.
The plugin-pocalypse is happening. Both Google Chrome and Mozilla Firefox are taking issue and removing plugin support. Recently I was a bit worried about web exporting and the player/plugin support as NPAPI is being deprecated in favor of PPAPI in Chrome, so Unity, Silverlight and other NPAPI built plugins would have to be rebuilt in PPAPI (unlikely as Unity already maintains NaCL) or another path. Chrome will not allow NPAPI plugins to run at the end of 2014 and already warn each time you use them. Side note: Flash plugin has been updated to PPAPI and will not go away at the end of the year, Unity player won’t either but it may not work in Chrome without explicitly allowing it or at all, still to be seen however they said they will stop supporting NPAPI December 2014 and all NPAPI plugins will no longer work. Mozilla also is fighting against plugins in favor of standards like WebGL so this entirely solves it for Firefox, for Chrome it will still run but slightly slower so there is a transition period.
Mobile really killed the plugin but it opened up standards that allow WebGL to take over. I am happy to see Unity jump on this and bring a better web export that is in line with the best out there currently with asm.js/WebGL and the performance it can bring.
Unity really does add a tons of value if everything just works in WebGL exporting as 2d in WebGL is very mature with lots of supporting platforms, but 3D and stable engines are still lacking. (Until of course Three.js rules the world and may when it is easier to use WebGL in native apps for store like this). Let’s hope browser support for asm.js and Firefox native speeds grows, but most Unity games will run without needing it (2d games, simple games that already run well in WebGL performance ranges). So you can easily see the Unity Player, NaCL exports going away over the next few cycles when WebGL exporting is solid possibly if it isn’t already. Another option is a grace period where Chrome exports need to be NaCL for a while if the WebGL support isn’t ready for primetime by then but from what it looks it may be there (although full support can take some time). The plugin-pocalypse is here but there is a path forward, granted game portals and other sites that host current Unity player content may have alot of work to do this year.
This change couldn’t come soon enough as we had to start thinking about other options for web content, Unity successfully hurdled this one.
There are tons of other great things in Unity 5 (currently up for pre-order) and will be out later this year, but WebGL and “plugin-less” exporting is the driver on this version and we are bought in for the next round.
Unity 5.0 Announced Features
- The aforementioned “Early Access” to WebGL support meaning no plugins required in compatible browsers
- 64-bit CPU support
- Real-Time Global Illumination — the over-simplified version: the lighting system used by games like Battlefield 4 and Eve Online (a system called “Enlighten“) for their more advanced lighting tricks is now built into Unity.
- Light baking previews — Light mapping can take a while because every little tweak required a complete rebake. Light maps can now be previewed in real-time.
- Unity Cloud — Remember the built-in ad solution that Unity announced around the middle of last year? That’ll launch with Unity 5.
- New audio system Both more efficient and more powerful. Unity 5.0 has a proper audio mixing board to help developers tweak the way things sound in different in-game environments.
- Nvidia PhysX 3.3 While Unity has used Nvidia’s physics engine for years, the version built into Unity 4.0 has been outdated for a while now. 5.0 taps PhysX 3.3, which is up to 2x as fast.
Unity 5 will probably be available later in the year and may launch around Q3/Q4, can’t wait to play with the WebGL exporter. Here’s hoping it is solid by the end of the year.
It’s alive! Unity Technologies has a preview of their Unity export to Flash 3D (Molehill now called Stage3D) posted. Unity and Flash exporting was announced earlier this year. This is great as it provides huge benefits for Unity developers and Flash developers for games.
Over the last few months here at Unity, we have been hard at work on, amongst many other cool things, the ability to publish from Unity to the Flash Player. This means that next to the already existing build targets of a Unity project, one will be able to target Flash with Stage3D, announced for Flash Player 11.
A sneak preview
Unity provides the 3d + editor pipeline tools that are arguably the best for web/mobile/desktop/console games. Flash it ubiquitous across all browsers and Unity content will be seen more often if users already have Flash and don’t need to download the Unity WebPlayer plugin. I do hope the Unity WebPlayer stays strong but if Flash 3D Stage3D low level player can integrate 3d with user interfaces kind of like how games use scaleform for killer interfaces layers on and into high quality hardware accelerated games, then we are all in for a treat, both developers, designers and consumers.
Unity is smart to provide more and more platform exports that are solid but I’d also like to see exporting to html5/WebGL. But for controlling the experience entirely in a plugin today, Unity and Flash are the top two interactive and gaming plugins that provide tremendous content and opportunity for the web. Unity also provides for better low level export to Android and iOS (in addition to desktop mac and pc, consoles). Seems like Adobe should buy Unity soon but hope that they don’t sometimes as the competition is nice.
How are the new Stage3D APIs different from the 3D functionality introduced in Flash Player 10?
In Flash Player 10, we introduced APIs that allowed ActionScript developers and designers to apply 3D effects to 2D content. Those 3D effects allow developers to add perspective and projection to content – which could also be described as 2.5D or “postcards in space.” Additionally, these 3D effects are software rendered and cannot be used for highly complex scenes with a lot of content to render.
The new low-level APIs will provide advanced 3D and 3D engine developers the flexibility to leverage GPU hardware acceleration for significant performance gains. Today, Flash Player, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new Stage3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz. Using the new 3D APIs in Flash Player and AIR will make it possible to deliver sophisticated 3D experiences across almost every computer and device connected to the Internet.
Why is Adobe adding 3D functionality to Flash Player?
3D has been one of the most popular requests from our customers. Enabling true 3D experiences in Flash Player aligns with Adobe’s commitment to innovation and delivering a more complete Flash Platform.
Adobe evolved the web with video and now we are going to evolve the web again with 3D. From interactive websites, e-commerce, and marketing to gaming, 3D will be available to everyone, everywhere.
Does this mean the 3D APIs introduced in Flash Player 10 will be deprecated?
No, the initial 3D APIs introduced in Flash Player 10 continue to provide designers, interactive designers and developers a simple way to apply 3D effects to 2D content. The new low-level 3D APIs are targeted to advanced developers for building complex 3D experiences leveraging GPU hardware acceleration. Choosing one API over another one will depend on the use case and type of content created.
What are the requirements for 3D to work in Flash Player?
We are working to ensure 3D content always works with the best performance, regardless of context and hardware configuration. The 3D APIs will rely on DirectX 9 on Windows and OpenGL 1.3 on MacOS and Linux. For mobile platforms, Flash Player will rely on OpenGL ES 2.0. For those graphics cards that aren’t supported, Flash Player will elegantly fallback to a fast software rasterizer called SwiftShader, a technology licensed from TransGaming.
How do the Stage3D APIs compare to WebGL’s proposal to have the capability be available through browsers and HTML5?
In terms of design, our approach is very similar to the WebGL design. However, we offer a consistent, browser-agnostic solution that will enable advanced 3D experiences on almost every computer and device connected to the Internet. Additionally, GPU-accelerated 3D in Flash Player will build on all the expressiveness features that exist today in Adobe Flash Player.
Rozengain or Dennis Ippel of AKQA updated probably one of the tools I use the most for flash 3d and that is the blender to as3 exporter. This simplifies loading in the meshes you have and lessens the bulk of the COLLADA format. COLLADA is great but flash is still client side and fairly memory intensive for 3d so loading in models directly to as3 is nice if flash is your presentation tool.
One concern you might have is statically binding the code within a main swf fileon compile and resulting file size compared to loading in the DAE dynamically. But you can just load these in as you would external DAE COLLADA files as compiled swfs and since it is just code it is very compact. This adds some duplication of code (such as tweening libraries or the 3d engine source as needed) but allows a more horizontal loading or lazy loading of meshes when needed.
This is just another option to get 3D models into the flash 3d engine of your choice in addition to COLLADA, some MD2 support and limited ASE support.
This is an awesome project that keeps getting better, thanks Rozengain.