Archive for the ‘3d’ Category
Tuesday, March 9th, 2010
Unity is showing no signs of slowing down in making a consolidated, easy pipeline for game developers and creators to bring their wares to the masses on the top platforms. Already Unity 3D is the best 3d web browser plugin at the current time with export paths to web, desktop (mac and PC), iPhone/touch and Wii. But now we will see support for PS3, iPad (obvious as it is a iPhone/touch) and Android (most likely with the help of the C++ NDK rather than the Java SDK). XBOX 360 support was announced last year.
This is pretty huge even for such a small and innovative company. I guess it means it will be time to buy an upgrade soon. Unity so far has been giving feature after feature for free for current license holders, this one seems big enough to justify a major version increase.
Gamasutra comments on other great features:
This third iteration will also incorporate Umbra Software’s occlusion culling product, which is designed help performance for games with large, open scenes and complex geometry. The platform’s top-end version, Unity Pro, will include both Umbra and Beast at no additional cost.
Unity Technologies updated its Unity iPhone for version 3.0 to include streaming audio support for smaller build size, Bluetooth multiplayer support, faster in-game GUIs”, and a 2D sprite engine. Furthermore, the company’s iPhone product will offer performance improvements that promise to provide faster frame rates.
The company says that with its new platform support for PlayStation 3, iPad, and Android, it offers developers an opportunity to target a larger install base than any other game engine. Unity’s game engine currently can produce games for Windows, Mac, iPhone, and Wii, with support for Xbox 360 announced last October.
Tags: 3d, android, ENGINE, ipad, ps3, unity, unity3d
Posted in 3D ENGINES, 3d | View Comments
Friday, February 12th, 2010
Balder was one of the first 3d prototype engines in Silverlight and it has evolved quite nicely. Balder by Einar Ingebrigtsen is described as a “Managed GameEngine with both 2D and 3D support targetting Silverlight, Xna and OpenGL.”
The sample browser will show you what Balder is capable of and it has come pretty far since the first version showing a wireframe teapot.
You know you’ve made it as a 3D engine when there are Augmented Reality apps for it.
Here’s a glance at what some of the C# source looks like for a feel of the engine code from the Silverlight4 TestApp:
using Balder.Core.Execution;
using Balder.Core.Objects.Geometries;
using System;
using Balder.Core.Lighting;
using Balder.Core;
using Colors=System.Windows.Media.Colors;
namespace Balder.Silverlight4.TestApp
{
public class MyGame : Game
{
public override void OnInitialize()
{
Camera.Position.X = 0;
Camera.Position.Y = 0;
Camera.Position.Z = -80;
var light = new OmniLight();
light.Diffuse = Color.FromSystemColor(Colors.Green);
light.Ambient = Color.FromSystemColor(Colors.Green);
light.Specular = Color.FromSystemColor(Colors.White);
light.Position.X = 0;
light.Position.Y = 0;
light.Position.Z = -130;
Scene.AddNode(light);
base.OnInitialize();
}
public override void OnLoadContent()
{
var teapot = ContentManager.Load("teapot.ase");
Scene.AddNode(teapot);
base.OnLoadContent();
}
private double _sin;
public override void OnUpdate()
{
Camera.Position.X = (float)(Math.Sin(_sin)*80);
Camera.Position.Y = 0;
Camera.Position.Z = (float)(Math.Cos(_sin) * 80);
_sin += 0.05;
base.OnUpdate();
}
}
}
Tags: 3d, ase, balder, C#, csharp, ENGINE, SILVERLIGHT
Posted in 3D ENGINES, 3d, C#, SILVERLIGHT, TECHNOLOGY | View Comments
Wednesday, January 27th, 2010
Tim Knip, a papervision core developer, has brought a pipeline improvement for users of Blender to import blender files directly into papervision and as3. This allows you to get at the blender objects, or blender DNA as it is called, that construct the 3d scene within Blender.
Unity3D has a great workflow that includes this where you can update your .blend file and then it updates in the Unity IDE, this work by Tim creates a similar workflow for Flash (recompile would be needed to show if embedded).
Typically exporters are made from the 3d IDE SDKs such as Blender using Python to export to COLLADA or other formats. But here Tim is parsing the source file directly. This also opens up the possibility to make other exporters from more simplified Flash AS3 code rather than learning a new IDE SDK just for an exporter.
I am not sure how much people want to embed .blend files with their applications as there is more information in the .blend file for the Blender app and it will add to the download. But what this might do it inspire others to create simplified exporters from Tim’s work for Blender to COLLADA, 3ds and more that work well with papervision and flash 3d engines, directly in Flash. So instead of learning each IDE to build an exporter that is the same, this solution could act as a proxy or middle man to simplify exporter creation, pretty much any Flash coder that understands 3d could build one from .blend files at a minimum. If it was made as a higher level abstraction so the 3d software source could be swapped out it may open up simplified exporter tools a bit. Since it is really just reading the binary data in the file, in theory other formats could do the same (3dsmax, Maya, Milkshape, etc).
There is a whole host of opportunities with this new tool! It is definitely nice to have this as I use Blender for Flash 3D and Unity 3D most often. It will be interesting to see how this evolves.
Note from Tim on the tool:
I created a library to read Blender files (.blend) directly. So no
more headaches with broken exporters!
Grab the code here:
http://github.com/timknip/asblender/tree/papervision3d
Here’s a first example:
https://dl.dropbox.com/u/438592/blender/PapervisionTest.swf
And its code:
http://github.com/timknip/asblender/blob/papervision3d/src/PapervisionTest.as
ASBlender is simply a library which reads *everything* in a .blend file. So in theory you could grab materials, animations, armatures, the works… But its up to *you* to grab the relevant bits, since *all* the data is accessible.
Of course: this means you need to study the .blend format, see
http://wiki.github.com/timknip/asblender/ for more information.
Sample Code Snippet posted by Tim:
[Embed (source="/assets/crystal_cube.blend", mimeType="application/octet-stream")]
public var BlenderData:Class;
var blend:BlendFile = new BlendFile();
blend.read(new BlenderData());
if (blend.scenes.length) {
// Blender can have multiple scenes, don't know yet how to grab the "active" scene.
buildScene(blend.scenes[0]);
}
/**
* Prints out the DNA as contained in the .blend
*/
private function printDNA(blend:BlendFile):void {
var struct:DNAStruct;
var field:DNAField;
for each (struct in blend.dna.structs) {
var type:String = blend.dna.types[ struct.type ];
trace(type);
for each (field in struct.fields) {
trace(field.type + " " + field.name);
}
}
}
private function buildScene(scene:Object):void {
var obj:Object = scene.base.first;
while (obj) {
// grab the Blender Object.
// The Blender Object defines rotation, scale, translation etc.
var object:Object = obj.object;
trace("Object name: " + object.id.name + " type: " + object.type + " matrix: " + object.obmat);
//for (var key:String in object) {
// trace(key);
//}
if (object.data) {
switch (object.type) {
case 1: // Mesh
trace (" - Mesh: " + object.data.id.name);
buildMesh(object.data);
break;
case 10: // Lamp
trace (" - Lamp: " + object.data.id.name);
break;
case 11: // Camera
trace (" - Camera: " + object.data.id.name);
break;
default:
break;
}
}
obj = obj.next;
}
}
private function buildMesh(mesh:Object):void {
var numVertices:int = mesh.totvert;
var numFaces:int = mesh.totface;
var i:int;
trace(" - #verts : " + numVertices);
for (i = 0; i < numVertices; i++) {
var v:Object = mesh.mvert[i];
var x:Number = v.co[0];
var y:Number = v.co[1];
var z:Number = v.co[2];
trace(" - - vertex: " + x + " " + y + " " + z);
}
trace(" - #faces : " + numFaces);
for (i = 0; i < numFaces; i++) {
var f:Object = mesh.mface[i];
var v1:int = f.v1;
var v2:int = f.v2;
var v3:int = f.v3;
var v4:int = f.v4;
trace(" - indices: " + v1 + " " + v2 + " " + v3 + " " + v4);
if (mesh.mtface) {
// UV coords are defined
var tf:Object = mesh.mtface[i];
trace(" - - - uv: " + tf.uv);
}
}
}
Tags: 3d, as, AS3, asblender, blender, FLASH, parser
Posted in 3d, ACTIONSCRIPT, ACTIONSCRIPT3, AS3, Uncategorized | View Comments
Wednesday, December 2nd, 2009

If the question is if Unity can do interactives as smooth and stylish as Flash I think you may soon find out. Carlos Ulloa of Papervision 3D fame has kicked it up a notch in Unity 3D with this interactive very reminiscent of the Ford Focus demo that helped bring in Papervision 3D for flash in style. Gotta say though a mini is much better than a Ford Focus.
Flash is still the leader in web interactives and even marketing interactive 3d, Unity largely replaced Director and tools like it and high-end hardware rendered required interactives and games. This interactive by HelloEnjoy has loads of polygons, unity physics system, lighting, environment mapping, showroom cameras, reflection, skid decals, highly detailed mesh and more. Just take a peek inside the vehicle and at the rims for the detail that is impossible with the 2000 poly limit of Flash 3D software rendered engines.
Web interactives this heavy aren’t doable in a non hardware rendered player like Flash. Unity is looking to pretty much own this level of quality in a browser. I don’t think I have seen another interactive looking this good with Unity 3D.
Unity still is lacking many features that Flash has in support of making interactives for the web such as webcam support, mic support, better video support, better gui system, html support (although flash barely) and a larger install base but Unity could easily take the high-end advertising market in addition to owning highly immersive games that need hardware rendering which it is already doing for web gaming. It is 2010 soon, most computers have a decent video card. Put them to use!
Tags: 3d, carlos, DESIGN, helloenjoy, interactives, style, ulloa, unity, unity3d
Posted in 3D ENGINES, 3d, PERFORMANCE, PROGRAMMING, TECHNOLOGY, unity3d | View Comments
Wednesday, October 28th, 2009
Unity 3D Indie is now free for all developers and just called Unity now. The Unity 3D Pro license is still $1500 and worth every penny. But this news is great for indies and moreso the pro users that want the Unity Web Player to have more penetration and installs in the market.
Companies like EA, Cartoon Network and Lego are using Unity 3D and just about every game developer I know including myself has been excited about the possibility of an engine that allows creation of hardware rendered web based games and desktop games, which are multi-platform and paths into the mobile market (iPhone/Touch) and console like Wii and XBOX in development (for additional licenses).
When Unity 3D released support for Windows as a development environment in addition to Mac it literally blew up as predicted this year. Also, Unity 2.6 is out which is big because it finally supports third party source control such as Subversion and Perforce. Many of the barriers that were keeping it from integration into gaming pipelines are gone: the price, the single platform and the source code integration issues. Unity 3D has addressed all those issues.
What are you waiting for? Get your Unity3D on!
Tags: unity, unity 3d, unity3d
Posted in .NET, 3D ENGINES, 3d, C#, PROGRAMMING, TECHNOLOGY | View Comments
Saturday, October 3rd, 2009
Tags: 3d, GAMEDEV, torque, TORQUE 3D, unity, unity 3d, unity3d
Posted in 3D ENGINES, 3d, GAMEDEV, GAMES | View Comments
Saturday, September 26th, 2009
Electronic Arts is using Unity 3D to develop Tiger Woods Online. The game is currently in beta. It was announced that they were using the engine in June on their blog but only on the reposted version here not the original post where the engine was just deemed “new technology”.
This is a major shift in the game industry and how it is being expanded into online properties that rival or better the console and desktop versions through online communities. Quake Live from id software uses their own system that wraps existing games (originally developed by Gaim Theory then bought by id Software) and instant action technology from garage games that runs instant action. All these systems have provided us browser based triple AAA style gaming fun. It looks like that movement will continue as more and more game companies and publishers see the valid capabilities of Unity 3D to deliver when you need really deeply immersive 3d experiences in the browser. Also other systems like Torque 3D, Quake Live technology and more will be seeing this trend continue when it comes to games online. It is also becoming a choice for online web based 3d MMOs such as Fusion Fall and Marvel Super Hero Squad.
Tags: based, browser, DEVELOPMENT, ea, experience, game, GAMEDEV, instant action, live, online, quake, TECHNOLOGY, tiger, torque, unity, unity 3d, unity3d, woods
Posted in 3D ENGINES, 3d | View Comments
Saturday, August 8th, 2009
So many cool and useful technologies are unveiled at SIGGRAPH every year, this year at SIGGRAPH 2009 was no different. Khronos Group, behind the new guidance of OpenGL, OpenGL ES, OpenCL, OpenVG, COLLADA etc, came another big announcement about hardware rendering within the browser. WebGL is now an official standard being developed at Khronos Group to bring javascript control of OpenGL to browsers… Wow!
Ok so this was officially announced at the GDC in March but limited information, but now it has been slated for an official public standard in early 2010. Shortly after the announcement at the GDC we saw Google o3D appear doing exactly that, controlling OpenGL through Javascript in the browser but it was still largely software/harward hybrid rendered. Google, Mozilla, Opera are part of the companies supporting WebGL which is great for browser support, also NVIDIA, AMD and Ericsson are in on it.
Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet
JavaScript Binding to OpenGL ES 2.0 for Rich 3D Web Graphics without Browser Plugins;
Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers
4th August, 2009 – New Orleans, SIGGRAPH 2009 – The Khronos™ Group, today announced more details on its new WebGL™ working group for enabling hardware-accelerated 3D graphics in Web pages without the need for browser plug-ins. First announced at the Game Developers Conference in March of 2009, the WebGL working group includes many industry leaders such as AMD, Ericsson, Google, Mozilla, NVIDIA and Opera. The WebGL working group is defining a JavaScript binding to OpenGL® ES 2.0 to enable rich 3D graphics within a browser on any platform supporting the OpenGL or OpenGL ES graphics standards. The working group is developing the specification to provide content portability across diverse browsers and platforms, including the capability of portable, secure shader programs. WebGL will be a royalty-free standard developed under the proven Khronos development process, with the target of a first public release in first half of 2010. Khronos warmly welcomes any interested company to become a member and participate in the development of the WebGL specification.
Google released O3D this year and there are great strides in 3d within the browser from game engine wrapper technologies such as instant action technology, gaim theory engine (now owned by id Software and runs Quake Live, hardware rendered Unity 3D (and Torque 3D coming soon), and Flash software rendered 3d engines Papervision 3D, Away 3D, Sandy (Sandy also released a haXe version that exports a javascript version) and others. But it looks like the movement is to bring OpenGL to the web as a standard under the name WebGL, this would be great! There would still be lots of times where plugins are better now and in the near future but the path is a good one. Having a software/hardware rendering hybrid like Google O3D for broad video card support (some of the painful older intel cards), or using a plugin like Unity3D, Torque 3D or wrapper technology for bigger engines is a good idea for the time being. But the future is grand in this area.
I think that Google O3D and OpenGL ES success on iPhone games probably combined to get this in motion. OpenGL and very basic video cards are now standard in most machines out there. Unity3D actually published hardware statistics on casual gamers (web-based games) ever so kindly and shows that even though there are some older Intel cards out there, for the most part machines nowadays have a video card capable of supporting at least low-poly 3d and hardware supported 2d rendering in real-time for games, user interfaces and more.
This is exciting news, it appears the movement of the web gaming market is getting much more capable and is accelerating the innovation of hardware accelerating the web.
Tags: 3d, browser, group, JAVASCRIPT, khronos, OPENGL, opengles, RENDERING, standard, webgl
Posted in 3D ENGINES, 3d, AWAY3D, CODE, COMPANIES, CONFERENCE, EFFECTS, ENGINE, GAMEDEV, GAMES, HAXE, JAVASCRIPT, LIBRARIES, NEWS, OPEN SOURCE, OPENGL, PROGRAMMING, RENDERING, STANDARDS, TECHNOLOGY, TORQUE 3D, Uncategorized, unity3d | View Comments
Thursday, July 16th, 2009
Haxe Sandy is a version of Sandy that can export to an experimental Javascript 3D engine taking advantage of the <canvas> element. There are some great demos that run smoothly in canvas capable browsers and very smooth in Chrome.

Demos of Haxe Sandy:
Sandy was actually the first open source 3d engine in flash, maybe this will be a trend building in haXe for export to flash and javascript? It certainly looks like a great start and would make a very nice platform for 3d on the web allowing Sandy or other flash libraries to run in Flash and Javascript by writing in an abstraction platform like haXe. Other libraries like Motor2, Physaxe, haxe3D, PureMVC and more have haXe versions. Still very experimental but a possible need when Flash and canvas are both in the market in the future. Right now it is still all Flash.
[ via Matthew Casperson at devmaster.net ]
Tags: 3d, canvas, ENGINE, HAXE, html5, hx, JAVASCRIPT, motor2, port, puremvc, SANDY, web
Posted in 3D ENGINES, 3d, ACTIONSCRIPT, ACTIONSCRIPT3, ARCHITECT, AS3, GAMEDEV, GAMES, HAXE, JAVASCRIPT, OPEN SOURCE, PROGRAMMING, RENDERING, SANDY, STANDARDS, TECHNOLOGY | Comments Off
Sunday, June 21st, 2009
This is a very cool project called V8-GL. It is an OpenGL engine with 80% of the API converted to run on the V8 Javascript engine, the same engine that runs Google Chrome.

This is exciting as more productive languages like Javascript get speed boosts from engines like V8 and are capable of manipulating more complex systems like OpenGL. Google is also pursing this in the browser with O3D with javascript manipulation of hardware rendering. Also, a Google funded project called Unladen Swallow is converting Python to the LLVM virtual machine, so that it can have increasing speeds to compete with gcc speeds.
Making things easier to produce and control with more simplified and minimal languages like Javascript, Python and Actionscript etc that control more complex systems, that typically you would need to invest more time in such as a platform on C++ is the goal. V8-GL has this goal in mind.
V8-GL from the author states:
V8-GL intends to provide a high-level JavaScript API for creating 2D/3D hardware accelerated desktop graphics.
In other words, you can hack some JavaScript code that opens a desktop window and renders some 3D hardware accelerated graphics. Bindings are made using the V8 JavaScript engine.
Tags: 3d, DESKTOP, ENGINE, JAVASCRIPT, OPENGL, v8
Posted in 3D ENGINES, 3d, APPLICATIONS, ARCHITECT, DESKTOP, ENGINE, GAMEDEV, GAMES, JAVASCRIPT, MARKET, OPEN SOURCE, OPENGL, PERFORMANCE, PROGRAMMING, RENDERING, STANDARDS, TECHNOLOGY, Uncategorized | View Comments