Silverlight 3DSMax Exporter

Silverlight 3 comes with the new shiny Projection and PlaneProjection for perspective 3D effects.  One issue is to create rich 3D environments, you need a good toolset, and although Blend is a great tool, it’s not a 3D authoring environment.

Enter 3DSMax.  3D Studio has an awesome scripting capability in the form of MaxScript.  Writing 3DSMAX exporters is a past time of mine, and having had a conduit to John Wainwright (aka Mr MaxScript) at that time I became very fond of 3DSMax and MaxScript.  But here ends the history lesson.

The main aim of the Silverlight 3D Studio Max exporter is to create a pipeline for 3D authoring, through to Silverlight in browser, and convenient stops in between.  It shouldn’t ignore or outcast Visual Studio or Blend (or Photoshop etc), and should not replace them.  But where as Visual Studio is a coding environment, Blend an awesome behavioural and layout authoring environment, neither are good 3D authoring environments.  The Silveright 3DSMax Exporter hopefully will fill that gap.

So first up, lets take the following image.


In the screenshot below I’ve taken the above image, applied it as a textures to planes (rectangles), replicated them helix/spiral paths in various directions, textured, translucent, with a blue environment background.  This process took about 2 minutes.


You can see in the image above the front perspective wireframe, the render, and an angled perspective view showing the planes along the various paths.

But with a click of a button, this 2 minutes of work gets exported to XAML in a second.  Alt tab to Blend (Visual Studio doesn’t like ImageBrush for some reason) and voila, instant 3D.


Note that the background is actually blue, but Blend doesn’t stretch it to the full view by default.  A quick stop over in Visual Studio and every object is named and available in Intellisense.

intellisense And the real test, taking it to the the browser.  Firing up Firefox gives us…


So in 2 steps, 1) Export, 2) Build, we have a 3D Studio scene in Firefox.

Currently in v0.001 pre alpha, but I thought I’d post some information about what I’ve been working on.  But it truly is 1 click, 1 build.  No smoke, no mirrors.

So what features does it currently have?  For the time being I’m focusing on only 1 shape, being a rectangle.  Simple shape rotation can be done in Blend.  Max is for full scene creation.  Shapes are the easy part, and the hard part is getting coordinate transformations, texturing, and full scene rotation.  These are the real features that I’m currently working on, and I’ll let you all know when it’s ready to get your dirty mitts on.  Stay tuned.