Flash 3d Viewer (using maxscript rendering)


h i there, great little program you made, cant wait to use it, thanks very much. …but seeing as I turn into a complete dolt when i have to do anything involving compilers, installers, plug-ins etc could you please give a brief rundown of the steps you have to take to get this working? i have downloaded the two sets of files you linked to, errrr now what?

–apologies for my stupidity. :blush:


That’s no problem. I should have written a bit about the installation.

1. If you don’t have the .NET framework installed already (does it come with max?), download and install it.
2. Download the f3dv installer and install it. When asked for a directory, select your 3dsmax root directory, for example: C:\Program Files\3dsmax 7
3. You can now use the script in any way you want. You can run it directly by using MAXScript -> Run script -> f3dvExporter\f3dvExporter.ms.
However, it might be more efficient to make a custom menu button for it:
[color=DarkOrange]4. [color=#fffffe]Go to Customize -> Customize user interface.

[color=DarkOrange]5. Go to the ‘menu’ tab, and click ‘new’. Enter the name of the new menu item and click ok.

6. Select the newly created menu item from the list in the bottom-left selection box, and drag it into the menu list on the right.

7. Expand the added menu item. In the list on the left, select the f3dvExporter, and drag it into the menu.

8. Now you can start the script through the menu bar. Of course you can place it somewhere else if you prefer to.


Hey man, this thing looks amazing, i cant wait to try it out thnx alooot.
I would like to ask if is it possible to do the viewer with animated objects? lets say i hv a walking cycle, would it work with it? if not, do you plan to support animations, is it possible to do?


That’s a very interesting idea. It should not be too hard to do I think, on the code side that is.
One problem I do see with it is that it would seriously increase the filesize. Right now the amount of frames is (in most cases) the horizontal rotation frames * the vertical rotation frames. With animation added, it becomes hFrames * vFrames * animation frames.
So let’s say you’ve got 30 hFrames, 10 vFrames and an animation of 100 frames, the total amount of frames would then be 30 * 10 * 100 = 30.000…


Hey, i hv tryed to do a test with it, but in the end i get this message, i downloaded the .net thing u linked, it says its version 1.1, will try to download a newer version, as i think that might be the problem.

I hv another question, is there anyproblem if the name of the file ends with a number? i noticed that u use numbers at the end of the file ( i guess is to hv some sort of control over it) so, if my model name is test3.max will that be a problem?

I can see the amount of frames as a problem, but if you hv the swf in a cd instead of the internet, wouldnt this solv the problem? I think it could be a great tool to show of animation cycles for game artists ( since in games most often u dont hv the control of the camera, and the cycles should work from all angles ), it could be an intersting way to send cd as demoreels.



This is an incredible plugin. If this is truly your first script, I’d love to see what you’re working on for your second! Even in its current form, this allows art teams to bridge the gap with clients who demand very technical products be made using 3D technology. With this tool, it’s easy for the customer to approve the accuracy of a model, or the physics of a certain operation, using their internet browser. Great work!


Whoops, my bad. Thanks for pointing that out. I’ve updated the links to the .NET Framework, which should indeed be 2.0, and not 1.1

That should be no problem at all. The script does indeed use numbers to write the rendered frames to a temporary jpeg file. The filenames are made up of the scene file name (which in your case would be “test3”) plus a number, an underscore and another number. So a typical frame name would look like “test301_05.jpg”. Further references to these files are always made starting from the scene file name, so the test3 and the rest always stays seperated.

Even for cd’s it might be a serious amount of data. Imagine a static 3d viewer of 4mb, add an animation of 100 frames to that, and you’ve got 400mb of data. And it might kill the memory usage on the pc as well, although I’m not exactly sure how the memory streaming in flash works with a lot of frames.
But it’s something I will think about, there must be some way to make this without using 10K+ frames…

Thanks! I’d be very happy if it would indeed help people in a professional environment too.
Having made something fun is nice of course, but something nice ánd useful feels better :slight_smile:


i must say i’m not that thrilled by what i see, because i’ve seen flash 3d product presentations like that more than 7 years ago. the fact that its generated by maxscript is impressive but it doesn’t make the flash itself more appealing. its not real 3d, where the user is free to move the camera, zoom in and out. its just a number of still images driven by the mouse pointers x and/or y position or am i missing something?


Looks really handy but dosent seem to work with Max8 SP3, for me atleast. As soon as I create a camera it crashes max back to the desktop. I would tell you more on the error but dosent really say anything.


@ManuelM: That’s absolutely true.
I never claimed that it was something revolutionary though :slight_smile:

The thing that makes it interesting for me personally, is that I can create a (fake) 3d representation of a 3d object with high rendering quality.
Real 3d in flash (or shockwave, or any other format that you can spread easily on the web) is great of course, but it has some serious limitations when it comes to quality. You’re very limited when it comes to polycount and texturing. And advanced lighting is right out as well. That is something that you don’t have to bother about with this solution.
The only real limitation with this is the frame count and the resulting file size.

Now mouse position driven interaction is indeed nothing new, nor is rendering some camera rotations in a 3d package. But I think that the combination of both these ‘old’ techniques is what makes is interesting.

@DeadlyFreeze: That doesn’t sound too good. I’ll see if I can run some tests on max8 and get it fixed.


Here you go

– Error occurred during fileIn in <File:C:\Program Files\Autodesk\3ds Max 9\scripts\startup\Scripts\f3dvExporter\f3dvExporter.ms>
>> MAXScript FileIn Exception: – Runtime error: fileIn: can’t open file - “C:\Program Files\Autodesk\3ds Max 9\scripts\f3dvExporter\scripts\UI.ms” <<


Looks really interesting! Giving it a try now…


just for giggles I placed everything in the scripts start up folder and here is what I got in the MAXScript Listener

– Error occurred during fileIn in <File:C:\Program Files\Autodesk\3ds Max 9\scripts\startup\Scripts\f3dvExporter\f3dvExporter.ms>
>> MAXScript Auto-load Script Error - C:\Program Files\Autodesk\3ds Max 9\scripts\startup\Scripts\f3dvExporter\f3dvExporter.ms Exception: – Runtime error: fileIn: can’t open file - “C:\Program Files\Autodesk\3ds Max 9\scripts\f3dvExporter\scripts\UI.ms” <<
– Error occurred during fileIn in <File:C:\Program Files\Autodesk\3ds Max 9\scripts\startup\Scripts\f3dvExporter\scripts\UI.ms>
>> MAXScript Auto-load Script Error - C:\Program Files\Autodesk\3ds Max 9\scripts\startup\Scripts\f3dvExporter\scripts\UI.ms Exception: – Unknown property: “resourceDir” in #Struct:f3dv_vars(
vFrameStart:<data>) <<

and this error window


thanks again for this great plug in, ive tried it on max 8 and it works a treat! very handy for portfolios.



got it working… the install directions were not up at the time…when I saw them I gave it a second try and it works now…

Thanks again


Yes it would be tedious and hard to get right, but if you did - this would be a commercially viable project. You would make lots of money selling the software, and then Adobe or Autodesk would pay you a million to get the technology from you.

Doing this would FINALLY bring VRML to life.


Awesome script! I tried it out quickly today and i came up with this, thanks.
btw, the Minas Tirith project is really coming along very well, good luck with it.


I’ve updated the script to version 1.11 fixing the following things:
[li]Scripts directory problem (double slash) causing immediate crash of script.[/li][li]Check if viewer swf exists before rendering.[/li][li]f3dv filetype no longer strictly necessary, other filetypes can be set before rendering.[/li][/ul]For the download location, please take a look at the opening post


error loading it…make sure that your html file, .f3dv and the .swf are in the same folder. (maybe)


@DeadlyFreeze: Could you perhaps tell me what you’re exactly doing when the crash occurs? Have you got the script running and then when you create a (target?) camera it crashes?
I’m afraid that I don’t have any access to max 8, so I can’t really reproduce the crash, let alone fixing it at the moment.

@6foot5: Could you perhaps try doing what DeadlyFreeze did? So running the script and creating a camera. Oh and could you tell me which SP of max8 you’re running?

@FlexGiddy: Thanks for posting that. It was a little silly bug in the script, which caused two backslashes to be added to the script folder variable. I wonder why it never gave any errors before though…
And it’s odd that now that you’ve installed it a second time (different as well?) it worked normally, very weird…

[color=DarkOrange]@Matt: hehe yes who knows. Perhaps I’ll give it a try some day.

@Jelmer: I’m getting an error here…(Error loading ‘castle_test.f3dv’). I hope that this is not a bug caused by the script…?

@tyio: Take a look at the 1.11 update :slight_smile: