Archive for July, 2007
shirotokoro has created something interesting in the view of a pipeline for getting assets from 3d into the new Flash 3D engines with a Geom Class Exporter for 3ds max for PV3D, Sandy and Away3D.
One of the difficulties is the DAE/COLLADA and ASE imports dynamically at runtime in Flash 3d Engines sometimes takes some work to clean up the 3d objects in COLLADA xml or the ASE or 3ds if you are Sandy. But this takes that step out of the process and exports 3d models straight to flash 3d engine object scenes.
This is great for models that don’t’ need to be dynamically imported/parsed (which takes lots of time usually to parse the DAE in flash). I am not sure how detailed or elaborate the models can get as I haven’t had a chance to play with it yet but it is an interesting idea and development but the cat samples he has are fairly complex for a flash 3d engine and they look great. I think this can be used elsewhere preparing objects for 3d in flash as precompiled movieclips already. Maybe even a turbosquid like market for flash 3d. This could be fun.
AS3 Geom Class Exporter is a 3DS Max designed script that allows you to directly export 3D models to AS3 classes.
he benefit is that you don’t need anymore to load and parse a texte file (ase, obj, 3ds).
You just have to import the class and to create an instance, like you do with usual objects like plan, sphere and box classes.
This script is compatible with the following AS3-3D engines :
Download zip file and unzip in any folder.
In 3DS Max, tools tab, open the maxscript panel and click the “execute script” button.
Select the script. It is now displayed in the available scripts list.
Select it, a new AS3 panel “AS3 geom Exporter” appears.
- Package : the exported class package
- ClassName : the class name
- Engine : the 3D engine you want to use
- Scale : scale the 3D object
- Swap face normal : with some 3D models, the faces export is swapped, you can fix this by selecting this box.
Here are rendering examples of an object in the following 3D engines :
Thanks shirotokoro !
SharpDevelop 3 which can be downloaded from build servers here is looking pretty good for revision 3 of my favorite .NET Open Source IDE and maybe even favorite overall considering it responds quicker that everyone’s .NET tool VS.NET.
The latest revision in builds just got the WPF and XAML tools in there. I tend to not use SharpDevelop for website development but do so for class libraries, apps and maybe forms development on occasion. This might help the layout side of things for the next gen of user interface development in .NET beyond just Expression.
One thing that has been apparent with IDEs as sometimes as they grow in size and scope and try to add more features, it is actually a slow down in some cases. I have been slowed from VS.NET 2003 to 2005. They are great tools but things start taking longer, it seems it should be the other way around.
When I need to just bust out a class library many times I do so in SharpDevelop because it is responsive and quick. I just hope they retain this speed. I unfortunately like to work on many projects at once so my IDE has to be smart about long processes (I curse you pending checkins! In 2004 when in beta VS.NET forced me to external IDE source control in Subversion and TortoiseSVN – much happier now).
XAMLPad right now is a pretty good quick development tools for XAML as well beyond just Expression and VS.NET Orcas Beta.
Be sure to try out SharpDevelop if you have not yet and develop .NET or would like to start. It is a great IDE and has some good extras like converting C# > VB.NET buffers whichcan be extended out to a service.
Will these languages be treated like J# and JScript.NET? We shall see.
If they perform better than their counterparts it might make python and ruby coders able to take on more platforms and capabilities.
It is still only pre-alpha and missing much but like mono.net, it can have an impact when platforms and languages merge.
Earlier this year, Microsoft assured developers that it would be continuing to build languages on top of the Dynamic Language Runtime (DLR). Considering that IronPython had been a success in terms of implementation, the company decided that it would make an attempt at bringing Ruby into the world of .NET. With the help of Ruby expert John Lam, today the company announced that a pre-alpha build of IronRuby is now available. You heard it right, this release is pre-alpha—many Ruby features and libraries have not yet been implemented.
For IronRuby fun ScottGu has a great blog post on getting started with IronRuby.
Bubblemark has added a JavaFX version of his bubble animation test that spans now all of the RIA technologies out there. Bubblemark is a great site and has been a great site for comparing animation in the browser. Alexey Gavrilov has kept the site up to date on all versions of Silverlight since when it was WPF/E and it is a nice quick baseline test to check FPS performance across these new vector toolkits and scripting.
My results are very similar to Bubblemarks tests:
JavaFX — 14 fps
Firefox + Flex — 62 fps
Adobe AIR — 62 fps
Firefox + Silverlight (CLR) — 99 fps
Silverlight is not final and is quite light compared to Flex (I wonder if a vanilla Flash9/AS3 export has been done or if it would perform any different), but if Silverlight has a lead on FPS, where FPS is really success of any kit in RIA or vector, then it could be a rough battle. Flash/Flex is really far far ahead due to the browser penetration and the development community but the better performance is always a good indicator of possible success. Plus, Microsoft controls the desktop market and any “benefits” it might give their own kit which includes distribution and performance in preloading or caching.
APE an actionscript physics engine and it recently moved from LGPL to MIT license, updated to version .45 and added a new walker demo. Although the Google group is available there is no RSS feed of releases for this engine so be sure to check back for new releases of APE Physics Engine for AS3 from Alec Cove.
This has to be one of the best ads I have seen online in some time. If you like JohnK cartoons (Ren & Stimpy creator) check out this excellent Comcast ad by JohnK and his production team.
This is a good example of the right amount of Flash in mixed media content environments. Short, quick and entertaining, and gets the message out. JohnK has always been a good proponent of Flash and using it for web cartoons. The Goddamn George Liquor Program and Spumco (now defunct) were essentially the first online cartoons and web toon shops before even CampChaos, joecartoon, icebox etc.
If you are into illustration and web movies of your toons be sure to check out JohnK at all kinds of stuff regularly.
Right now for webtoons, shows, games, interactives, web based apps there is no match to Flash.
mr doob has posted a first away3d verses papervision3D test for the same model and found pv3d to be faster than away3D. Who wants to take the source and test it on Sandy?
Disclaimer: Test can vary on types of content and different systems or browsers to it is not a definitive test just one test, more will be coming and the faster it makes engines the better for adding more content to each project.
So far there are a few good flash 3d engines But it will all come down to performance for the best.
- Away3d (from pv3d – there are a few other revisions of pv3d like wow engine)
The top three are the only ones viable for full screen and projects that can cross into the commercial realm, other pixel level systems like scanline z-buffers in flash are really just tech showcases right now. The fast and dirty Painter’s Algorithm of Papervision and drawing things the fastest wins out when dealing with software rendering and processor based graphics. When and if 3d acceleration is added, that will change the game immensly.
This demo should be called the Jedi demo because when you move the particles around it feels like the force is helping you out that is how cool this physics engine is.
Let’s hope this is released soon and has a license to make Polygonal Labs famous, which would be an open source one
Sample Silverlight textured 3d in a pretty slick Vista Silverlight theme. It is a pretty impressive demo that is full screen app and a slight performance test with the 3d in it.
I would love for some kits like papervision3d, Sandy etc to be ported to Silverlight. There are some other early 3d works from bubblemark, a 3D engine recently released in early stages called Balder (source at codeplex), pageturns, and more but it is still pretty young.
But until Silverlight is available in the market it will hard to justify projects in it unless they are demos or technology show pieces. When it hits around 85% market availability and is finalized (it is currently 1.1 Alpha) it could be dangerous.
Sandy is a flash 3d engine that has been out just a little longer than Papervision3D. The code for Sandy is very clear and it is a great engine. I have experimented with it and found it to be a bit slower it seems that papervision but it has great tools, including an extra 3ds file importer in addition to the Collada and ASE formats that most flash 3d engines support.
Using Perlin Noise is very common in 3d engines to draw large terrains and realistic terrains for 3d games or simulations. This technique makes it very easy to make dynamic terrains or randomly generated terrains, water effects, fire, clouds, whatever your need.
The demo has terrain generation class that can be used to build the dynamic terrain generation and the perlin noise material movement.
Samples using the TerrainCreator class to make different terrains. This could be used to also make level editors and other components of the game making pipeline in flash 3d.
//Water ter = new TerrainCreator("MyTerrain", 1000000, 128, 9, 6000, 6000, 10,60,60, false,false, 15, BitmapDataChannel.BLUE, false); //Gentle Hills ter = new TerrainCreator("MyTerrain", 10, 128, 9, 6000, 6000, 10,120,120, false,false, 15, 7, true); //Smooth Hills ter = new TerrainCreator("MyTerrain", 10, 128, 9, 6000, 6000, 10,120,120, true,true, 30, 7, true); //Mountainous ter = new TerrainCreator("MyTerrain", 30, 128, 3, 6000, 6000, 15,100,100, false,false, 10, 7, true);
Now if we could just fast forward 2-3 years on processor power and speed, or get hardware acceleration for Flash…