Google SketchUp Help - RETIRED

how to export nice animation


Colin Holgate Sep 26, 2009 8:46 AM
Posted in group: SketchUp Pro
You just knew this topic was coming, didn't you! By "nice animation"  
I'm thinking in particular of avoiding flickering on thin lines, and  
also finding good compression settings, and how to make it so that the  
most number of people can view the animation. There is another topic  
that can be covered, of how to get the animation itself to be nice,  
but here I'm just using the normal SketchUp feature, anyone wanting a  
better animation itself could look into the Smooth Animation plugin.  
Here's the Ruby for that plugin (do a right-click download as file  
approach to get the .rb file):

http://www.crai.archi.fr/rubylibrarydepot/ruby/smoothStepAnim.rb

Back to the problem at hand... First, the many issues:

1. The Windows version of SketchUp seems incapable of exporting a  
movie with anything but Cinepak as the codec. That leads to  
compression artifacts along edges that are at a shallow angle.

2. The antialiasing in SketchUp isn't very good.

3. You can get a good movie by exporting an image sequence (use PNG  
for best results), but then the file is enormous, and your clients may  
struggling to download it, and it would play very poorly.

4. Because the antialiasing isn't too good, even an image sequence  
movie has distracting flicker on shallow or steep angle lines.

5. However you got that far, you could make a Windows Media Video  
file, and just assume that Mac users would find a way to cope (most  
can, because of the Flip4Mac add on to QuickTime), or you could make a  
QuickTime movie and hope that Windows users can cope (most can,  
because anyone who has an iPod or an iPhone connected to their PC  
certainly has QuickTime). Neither case is ideal though, because  
perhaps your ultra-important client CEO, who made $1M in the time it  
took me to type this, is a Mac user who can't play WMV, or a PC user  
who can't play QuickTime.

I'll go through the various stages now, and in this I'm using Huck's  
river scene, which has 10 scenes, of which I animate through 9 of them  
(I skipped to last one that goes to a plan view). I also cheated  
slightly, in that on my Mac I can go straight to a movie with perfect  
quality video, I don't have to go via an image sequence. The resulting  
movie is the same as if you had gone via an image sequence, so the  
rest of the test is valid. Lower down in the message are links to the  
results, if you want to skip ahead!

As the antialiasing isn't good, you can work around that by exporting  
a very large image, and then reduce the size when you make the  
compressed version of the movie. Some would say to make the large  
version set to not antialias, and there is logic to that idea, but I  
tried it, and the results weren't good enough. For my test I exported  
at 4096x2304, with antialiasing. The movie it made was over 12  
gigabytes, and took five hours to export. I expect an image sequence  
export might be even bigger.

To get the most number of users to be able to view a compressed  
version, I exported the movie as MPEG-4 file format, and used H.264 as  
the video codec. That gives a .mp4 file that many players will be able  
to cope with (it's technically not a QuickTime file, even though the  
file format is based on input from Apple), and the same file can also  
be played using Flash. This means users have a choice of whether to  
view it in their preferred media player, or in a web browser using  
Flash.

As part of the compression I took the size down to 1024x576, which  
improved the antialiasing a lot. There are still defects that I can  
point out, but most people won't notice them. Another thing to think  
about is data rate. You either want to use the lowest data rate that  
the movie still looks good enough, or perhaps the highest data rate  
that your client can view at. For this case I just went with 2  
megabits per second, which these days is lower end broadband, and from  
having compressed a few thousand movies in the past I had a sense that  
the quality would be good enough.

Incidentally, I made the animation at 24 frames per second. That's the  
frame rate of all feature films. It's also a convenient frame rate for  
making DVD versions of the animation. For NTSC you can make a 23.976  
fps progressive DVD, that will play very nicely on any DVD that  
outputs component or DVI (or HDMI), and is still compatible with 29.97  
fps TVs. For PAL you could speed up the file by 4 percent to get a  
very good progressive 25 fps DVD. I made the animation at 16:9, which  
looks impressive in a browser, and could also be used for making  
anamorphic DVDs. A client with a good widescreen TV would hopefully be  
blown away!

The compression to 1024x576 MP4 took a while, though I didn't time it.  
Maybe an hour. The file is just over 12MB, about 1/1000th the size of  
the original export. I opened the MP4 in QuickTime Player to save out  
a reference MOV version (not everyone has their browser set up to  
handle MP4 versions correctly), and I made a Flash file that could  
play the MP4. The ability for Flash to play these MP4 files was  
introduce just under two years ago.

So (drum roll please...), here are the resulting files. All of them  
are playing the same physical MP4 file, one direct, one via the  
QuickTime reference file, and one via Flash:

Flash version:
http://xfiles.funnygarbage.com/~colinholgate/video/bigriver.html

QuickTime reference MOV:
http://xfiles.funnygarbage.com/~colinholgate/video/bigriverref.mov

MP4 direct:
http://xfiles.funnygarbage.com/~colinholgate/video/bigriver.mp4

In addition to letting about 98% of viewers see the movie without  
needing either QuickTime or Window Media installed, the Flash one has  
a nice Full Screen button at the right end of the controller.

Any questions?!!