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.
AngryAnt brings us a nice library for pathing and behavior trees in Unity3D with excellent editor integration. Path library I reviewed and is an extremely deep and complete library with autocomplete node collections from colliders, ability to connect different networks and detection from mesh as well as GUI tools using Unity3D editor scripts. The release is solid with documentation, video samples and is very easy to integrate. If you have a need for AI, bots, scripted animations or other madness in your game be sure to check out the pathing library and or the behave library from AngryAnt to implement or research.
Path Features
Specs:
Available for unity indie as well as pro licensees
Can run in webplayers as well as stand-alone
Requires no additional installations
Features:
Easy to use editor interface
Navmeshes
Waypoint networks
Cached pathes
Distributed processing using coroutines
Tag-filtered pathfinding
Hierarchal “grid network” pathfinding
Auto-recalculate on runtime network changes
Tutorials
I recommend you study the “Editor demo” unity project available on the Path download page. This project will be used in the tutorials below and contains an example Path setup.
The Demo project is a complete unity 2.5 project with Path already added, a sample Path collection set up and example scripts requesting path calculations and following them.
Behave Features
Specs:
Available for unity indie as well as pro licensees
Can run in webplayers as well as stand-alone
Requires no additional installations at runtime
Features:
Implements behaviour trees
Re-use common behaviour by reference
Drag and drop editor interface inside the unity editor
Simple connection to character actions via C# interface
Designed trees are built to .net assembly code for maximum performance
Runtime debugging features
Powerful stand-alone editor – including web version
This hotfix solves a few critical issues with Behave 0.3b and unity 2.5. It’s still quite buggy and I’m working on a more extensive rewrite. Stay tuned.
The Demo project is a complete unity 2.1 project with Behave already added, a sample behaviour tree designed and compiled plus an example script showing how compiled behaviour trees are integrated with unity MonoBehaviour scripts.
Behave builder is a stand-alone application offering the behaviour tree editors (excluding the compiler) outside the unity editor. It is currently OS X only. This application is also available in an online version – check it out in the “Preview” section of this page.
CitySimulation.behave is the library used in the demo project – saved as a Behave builder file. You can use this file directly in the online and offline version of Behave builder or import it to a unity project via the Behave “Assets” menu.
Libspark from Japan is a treasure trove of great flash advancements, they seem to realize the great things that can come from porting in existing solid libraries from C/C++ etc into flash and have been scoring lately including augmented reality in flash porting the ARToolkit to FLARToolkit. Recently a port of openCV for as3 called Marilena was found and it is for object detection and decent facial recognition (it is a computer vision library from intel) considering the processing power needed to do this.
Lots of recent action has blown up on this front from Mr doob, quasimondo (optimizing the Marilena classes for better performance) and Boffwswana. Also there is a kit called deface by sshipman that is the first foray into this a year ago doing similar things but it was just a bit before it’s time and a bit slow in previous versions of flash, it performs decent now in this sample. Flash 10 performance of the AVM2 and future directions with Alchemy will lead to more interesting stuff just like this.
Boffswana example of head tracking Johnny Lee Wii stylewith only a webcam and flash, no wiimote needed since it uses facial detection to check where you are and how close you are in the screen and then moves accordingly.
This is stemming from the recent explosion of the FLARToolkit and augmented reality in flash as well as the gimmicks used by Nintendo with the wii and Johnny Lee’s great head tracking advancements. Porting great libraries to flash seems to be the phase we are entering now judging by the recent excitement around Adobe Alchemy and the LLVM along with the lead from the libspark.org contributors. We have also seen this heavily last year in ports of Box2D for 2d physics and other toolkits using established working code and porting that to flash now that is is mostly capable of handling the performance.
OpenCV (Open Computer Vision Library by Intel) is quite a powerful platform that allows you to do all this and now it is available in flash. There are other great libraries for nearly all platforms now. I have done some previous work with Aforge which is also a port of OpenCV mainly for motion detection. This was always around but not until the recent performance updates and the innovation that has come with Alchemy and the thinking that goes along with that (porting in libraries to flash from C/C++ etc), has allowed this to flourish in flash and thus the web.
The amazing new things we can do with flash by porting in existing libraries is only going to get more intense as alchemy and flash 10 are even more mainstream. It is almost as if Flash will eventually just become a web renderer and simplified front end to many great toolkits that exist in more native environments like C/C++ but with the speed and distribution access of the web with Flash. Exciting times ahead.
The guys over at Flashbang Studios, a web game development studio in phoenix, az, and some of the most visible developers in the Unity3d space with Blurst, released something that may interest both FlashDevelop users and Unity3d developers.
UnityDevelop was released by Flashbang Studios recently and it is a modded version of FlashDevelop (originally from SharpDevelop a really nice open source .NET and mono IDE) and it supports intellisense for Javascript or Unity3d’s use of Javascript which is called UnityScript much like ActionScript. UnityScript can be a little more strict and has access to all of Unity3d’s API calls just like C# and Boo in the mono based virtual machine that Unity3d uses.
FlashDevelop, is by far the best Flash / Flex /haXe IDE in my opinion so it is really great to release this for Unity. I hope one day I or someone has the time to port to Mono so it can be used on Macs even with the 140 pinvokes, it would be a good spread mechanism for mono.
With Unity3d coming to windows soon, UnityDevelop could be a good go to IDE for unity if you aren’t using solely C# with VS.NET. Currently this is based on FlashDevelop2 source code.
One cool thing about it is the IDestroyable interface and the CasaMovieClip, CasaSprite, CasaTextField , etcthat all have a destroy() method that cleans up all events, removed instances and even removes it from the parent display object. Gets me thinking why this isn’t just part of DisplayObject in the first place.
Nicolas Cannasse is at it again. This time with a PBJ (Pixel Bender File) binary file reader and writer in haXe and Pixel Bender Assembler tools. What this can do is create and decompile PBJ files with haXe, the possibilities are limitless to how this is used including dynamic pbj file creation.
The latest haXefile format library contains complete support to read and write PBJ file, enabling you to write Pixel Bender assembler directly in haXe, then compile it on-the-fly into PBJ bytes, which can then be saved on disk or loaded directly in Flash.
I am working with lots of content now that is flash and unity3d in game development for the web, and occasionally systems built in flash, javascript or other have to communicate with Unity3D and vice versa. You can do this from the server side (WWW/WWWForm class or sockets) OR you can also communicate client side for many things such as sending name value pairs or variables into Unity3D, Flash or the javascript in page as needed. There are some great tools like UnityObject that is like swfobject (only you have to update it to work with latest browsers) that make this more simple to send in params and messages. The same can be applied to Silverlight. It is pretty simple all in all but having a sample to start with is good with all these technologies.
Paul Tondeur threw togetother a little sample that shows how you can integrate Unity3D, Flash and javascript in the page fairly simply with lots of great demos. It really is just about passing parameters around into the objects from javascript, then within Flash calling ExternalInterface to call external javascript or within Unity3D calling Application.ExternalCall.
//Flash adding callback for javascript code
ExternalInterface.addCallback("functionNameInBrowser", functionNameInFlash );
To constructing sprites and objects with individual iso objects with their own bounding boxes.
This sample shows a two piece tree, a common issue with sprites in isometric is where to slice them up. This sample shows a tree with the leaves able to be in front of a character so that you could walk under the tree and be in front of the trunk but covered by the trees. Essentially height is respected.
If you are exporting from blender to actionscript directly so you can get your models into flash as script you can use the Blender to .as3 exporter which so kindly supports all flash 3d engines currently Away3D, Papervision3D and Sandy3D. Dennis Ippel made the Blender exporter a while back but the update supports papervision 2.0.
The benefits of COLLADA are nice but there are so many differences that you can run into trouble. With the exporter it is a direct faces and vector export without all the bloat of DAE/COLLADA xml. This works if you are only developing for flash and dont’ need to use the models in other platforms/systems/engines that aren’t in flash.
Tink posted a great library manager for using external assets in your flash projects. When you start getting deep in projects you end up either having to roll your own that might end up being project specific, or you can just grab this from Tink and it is nice and standardized now for you.
Here’s and example of our Library & LibraryManager classes that we use in some of our Flex and AS 3.0 projects to manage our external assets stored in SWF’s.
The classes enabled you to create multiple libraries of embedded (retaining and giving access to code) or loaded SWF’s.
You can create instance of Library wherever you want, but you can also create them through the LibraryManager giving you a single class to gain access to all your Library instances.