New Multimedia Assignment
This is my new multimedia assignment, where I investigate the possibility of importing 3DS Max renders or meshes/models into Flash. On initial research I found that I might need a plugin called Swift 3D Max, to export directly from 3DS Max as Flash files. This would be easy to open in Flash and do additional work, as 3DS Max files are large and cannot be easily reduced in size without losing resolution. I shall update this blog with more detail in a while.
Update 1: 26-06-08: 19.50 PM
I have installed a 30 Day trial copy of Swift 3D, which happens to be a standalone application, not a plugin. The advantages in using Swift 3D are that it can do most of what 3DS Max does, and can export the renders as SWF, FLV, AVI, and a host of other useful formats. I am planning to make a model in Swift 3D and animate it, after which I shall export the file in AVI format. The AVI movie will then be imported into Flash, where I will embed it in a player. The player will have a play button, progress bar, and other movie controls. I think SWF is the best format to save the movie and player. I shall experiment with this, and post the results.
Update 2: 27-06-08: 06.59 AM
I am going to model something in Swift 3D, thought I would make something that used the mesh modelling, lighting, texture, animation, and other features. I shall write another entry when I have decided.
Update 3: 01-07-08: 09.55 PM
I have created an animation of a bouncing ball, a bouncing 8 ball to be precise. The occult/mystical implications of the 8 ball intrigued me, as well as the idea of imparting lifelike reality to an animation, using key frame effects in Swift 3D. I wrapped a bitmap material I created using Photoshop (see link) around a sphere primitive to make the 8 ball, and created a horizontal plane or floor, for the ball to bounce on. The bounce animation was created using an animation path, and rotation around the x, y and z axes to produce the illusion of the ball rotating as it bounced. (Click this link to see a screenshot of the movie being animated) This was the really hard part, getting the ball to bounce realistically. 17 tries later, success!! The animation is 60 frames long. At 15 FPS, that is 4 seconds of video.
Update 4: 04-07-08: 09.17 PM
The animation has been done in 3D Swift, and exported as an SWF file. (Click here to see the render window in Swift 3D) I was going to try and place the SWF in a Flash file, and embed the file in a player. However, I found, there are more options available when the file is imported as an AVI video, so I converted the SWF to AVI in Flash, and compressed the video to get a reasonable file size for web streaming. I used the Cinepac Codec to do the conversion. When importing the AVI into a new Flash file, I used the Flash High Quality 700 Kbps encoding profile. (Click here to see the encoding window). I found that I could use an SWF skin for the media player, the one I used was SkinUnderAll.swf. This way, I could get all the movie controls without having to resort to coding in Actionscript. I then exported from Flash back to SWF, in the Flash Player 9 version. I compressed the movie for lower filesize, while setting the JPEG quality to maximum (100). I felt this to be a good balance between filesize (download times) and resolution. The AVI file and player skin didn’t work too well, so I exported from flash as FLV (Flash Movie) (view a screenshot of the export window) and loaded that into my Index.htm page in Dreamweaver. The media player that Dreamweaver provides works rather well, but the animation is a bit jerky, so I will have to tweak some settings to make it more smooth, possibly when I export the FLV. I will try to remove all compression and see how that works. I will write another update when the movie is working to spec.
Update 5: 05-07-08:11.15 PM
Well I have tweaked the compression settings and got the FLV movie to be a bit better, but I think there are limitations imposed by the file format that might be quite difficult to overcome. Meanwhile the results are reasonable for the filesize, and the download times are almost instantaneous, atleast over my 2MB Internet connection. Here is the link to the movie (click here). This link opens the FLV Flash movie embedded in the Flash player. This link opens a 3.3 Mb AVI file embedded in Windows media player. The link usually works right away, but you sometimes have to be patient and wait for the file to load.
You can see the subtle differences between the two formats. The outlines of the 8 Ball in FLV can be slightly pixellated at the start, but the antialiasing starts to work in the later frames, and the display quality improves. The AVI file features a bit smother rendering and better antialiasing. The animation also flows freely without any jerkiness. The tradeoff is the filesize, so the FLV provides almost identical results for a drastically lower filesize, 122Kb. For a website that has more that a certain amount of movies, FLV offers a low-overhead solution that does the job. AVI, although a compressed format, has a much larger filesize for a slight increase in picture quality and motion. I loaded the AVI file into my webpage in a DIV layer, using the following script:
<div id=”apDiv27″><span class=”style12″>
<script type=”text/javascript”>
AC_AX_RunContent( ‘classid’,'CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95′,’codebase’,'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701′,’type’,'application/x-oleobject’,'width’,’450′,’height’,’270′,’align’,'bottom’,'standby’,'Loading Microsoft Windows® Media Player components…’,'class’,'TabbedPanelsContentVisible’,'id’,'MediaPlayer1′,’src’,’8Ball_Bounce.avi’,'autostart’,'true’,'pluginspage’,'http://www.microsoft.com/Windows/MediaPlayer/’,'showcontrols’,'true’,'volume’,'-450′,’filename’,’8Ball_Bounce.avi’,'animationatstart’,'true’,'transparentatstart’,'true’ ); //end AC code
</script>
<noscript><object classid=”CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95″ codebase=”http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701″ type=”application/x-oleobject” width=”450″ height=”270″ align=”bottom”
standby=”Loading Microsoft Windows® Media Player components…” class=”TabbedPanelsContentVisible” id=”MediaPlayer1″>
<param name=”fileName” value=”8Ball_Bounce.avi”>
<param name=”animationatStart” value=”true”>
<param name=”transparentatStart” value=”false”>
<param name=”autoStart” value=”true”>
<param name=”showControls” value=”true”>
<param name=”Volume” value=”-450″>
<embed src=”8Ball_Bounce.avi” width=450 height=270 autostart=1 align=”bottom” type=”application/x-mplayer2″ pluginspage=”http://www.microsoft.com/Windows/MediaPlayer/” showcontrols=1 volume=-450>
</object>
</noscript>
</span></div>
I have tried to make the windows media player cross-browser compatible, but find that the results in Opera and Firefox are less than desirable, while in IE the results are OK. This is possibly something I can examine in the future, how Windows media player can be customized for different browsers by changing the associated code.
One might ask, if it is possible to export the renders directly from Swift 3D as a Flash movie (FLV), and then embed the movie into the HTML page in Dreamweaver, why not do so, and take Flash out of the loop? This is quite a reasonable question to ask. The reason I took the roundabout route is that I was working on an experimental trial and error basis, feeling my way around. Also, if I exported the FLV movie from Swift 3D, all the frames would have been front to back, as I had created the animation from front to back, and reversed the keyframes in Flash. I hope the reader finds this a useful and thought provoking piece of writing.
This project was used as a test case or proof of concept, to show that animations rendered in 3DS Max can be successfully transformed into small files that are web deployable or deliverable using other software such as Abobe Acrobat. The key issue is almost always the file size, since all the documents that I am working on contain many graphic sequences that would be more expressive when animated. The success of this experiment shows that the communication problem regarding the conversion of 3DS Max animations into an easily transportable format has been overcome. This is definitely good news, since I have a lot of animations that are to be produced in 3DS Max, such as assembly and disassembly instructions etc. The SWF or FLV movies of these animations can be easily placed into Adobe Acrobat 3D, and this becomes a fully zoomable animation in the document. The size of the distilled Acrobat file containing these animations is smaller than the source files in 3DS Max format. This way, complex animations with high resolution graphics and high polygon-count 3D meshes can be faithfully rendered into lower file sizes, and become highly useful, with minimal loss of resolution. I am currently using this technique at work to create assembly instructions.
About this entry
You’re currently reading “New Multimedia Assignment,” an entry on Krisco43's Weblog
- Published:
- June 27, 2008 / 7:10 am
- Category:
- Uncategorized
- Tags:
1 Comment
Jump to comment form | comment rss [?] | trackback uri [?]