Sunday, 11 March 2007

Ajax3D experiment: Flux Studio - Getting acquainted

I don't have much experience with using 3D modeling tools, so when I see something like the following when I start a tool like Flux Studio, I am at a loss for any idea what to do with it.

So in order to work out how to accomplish what I have seen others create using this, I started by looking at their creations. One example which stands out in the gallery on Media Machines' web site is New by MrGB.

Looking at it didn't learn me nothing, as they say. Well, 'they' probably don't say it. In any case I decided to download the X3D file and see what I could learn from that. After all, X3D is XML. Loading it into a text editor quickly showed that it was either compressed or saved as some form of binary encoding. So I decided to try and import it into Flux Studio with the following result.

With it imported I could now export readable XML within which I could see local references to textures. So I went back, tracked down the directory the X3D file came from and downloaded all the images located there. This gave me a textured display in both Flux Player and Flux Studio.

Looking at the preceding Flux Studio and XML screenshots, you can see that the same node is highlighted in each. In the XML it is named 'dad_MoveF' and in Flux Studio it is called 'Group13'. I am not sure what is up with this, but it makes it quite a bit harder to ascertain what is going on when looking through the node hierarchy in Flux Studio than it is when doing the same by browsing the XML.

The most interesting thing which I came to realise through poking around at New is that all its game behaviours are completely implemented in terms of nodes. While it is possible to embed ECMAScript in X3D, as it was also in VRML, MrGB (also called GammonBrat in some other places) did not use it in the creation of this game prototype. And New includes a variety of interesting behaviours like picking up objects, jumping, using picked up objects and killing an opponent. And of course it looks great :-)