Case Studies
  Winter Wonderland  
 
PV3D Example - Winter Wonderland

Lead Designer:
John Grden
www.rockonflash.com
www.pv3d.org

This month' s Case Study features Papervision 3D team member John Grden's adaptation of the Christmas Light show originally inspired by a real life Christmas display on YouTube. Read on to see how Swift 3D played an important part in this amazing project.
 
  Case Study: Interview with John Grden  
 

Case Study URL
http://www.rockonflash.com/blog/?p=102

Tell us a little bit about yourself.
John
: I've been a flash developer since Flash 4 (nearly 9+ years I guess), and am really active in the Flash Open Source community.  I started the Red5 project, created Xray, FLASC and am a core member of the Papervision3D team.  I'm a Star Wars nut, named my boy Luke, and if my wife would have let me, my daughter's name would be Leia (and I'm not kidding).  Well, maybe a little, but I bet I would have done it given the chance!  I'm also a drummer and originally moved to Los Angeles in 1990 to be a professional musician.  Later on I fell into Flash by accident and it's been a total love affair ever since.

Your project is a unique, fun adaptation of the virally famous Christmas light show that I imagine most people have seen by now.  Did you have any particular inspiration for making a 3D animation version?
John
: Ha yeah quite a bit infact!  I LOVED the YouTube video I'd first seen and that was my inspiration for the scene itself, but the real kicker to actually produce this was because of the annoying Miller Lite commercial they kept playing over and over and over again during this last December.  They tried to use the same music, but show a house that just had flashing lights and it's not at all sync'd up to the music - it's a real hack job.  Every time I had to endure it, I just got more and more frustrated till I finally had had enough and snapped.  I broke out Swift3D and went to town on modeling for about 3 weeks.  So, I guess it was really negative inspiration partly, and the other part is I'm a rocker so, the music was very easy to keep listening to...over and over...and over again.

How long have you been using Swift 3D?  What made you decide to first pick up the program?
John: I'd used it in years past and just recently went back because of the Papervision3D support.  I already knew the power and tools were there and that it was geared for flash, but for the first time, I could actually PURCHASE a 3D application and afford to do so and have the power I needed to do Collada export for RealTime 3D or any other supported flash format of my 3D models and scenes.  It was a no brainer.

Which features of Swift 3D did you find most beneficial?
John: Surprisingly, the Lathe tool really kept my attention as it made it very easy to play around with different objects like trees and snowmen.  Originally, those small trees in front of the house were snowmen, but because of poly counts, I switched them out to be tiny trees like you see in the YouTube video.  The I spent alot of time in the advanced modeler as well, which is where I lived while cutting down on poly counts.  The Papervision3D export worked famously - fast and I got what I expected out of it.  Also the 3DS file support was a big hit since I'd found a house online that originally was a sketchup model.  So I as able to bring it into Swift after converting it to 3DS format - that seriously rocked.  It would have taken we a week to create that same house on my own (I'm fairly picky).

Do you have any tips or insights to your workflow that you would like to share?
John: Create materials for all of your objects and assign them.  Be careful and consistent with your naming conventions when you name your materials.  When you load your DAE (Collada) file in Papervision using the DAE parser, you'll find that if you used color materials in Swift3D, the parser will use that color information, and apply it to your model with some shading. That REALLY makes a big difference in taking a look at your models before you really start texturing.

Give every 3D object a name.  Keep multiple versions of objects named with zero based counting as this will obviously come into play when you get into the Flash side of things to start coding against your 3D scene.  Don't wait until later - it's much more difficult to rename everything later especially when there are many objects in one small area.

When you make a change to your model, always take a minute to export and view in Papervision3D.  It's alot easier to make adjustments early rather than later on.

What other software did you use to complete your project?
Swift3D 5.0 (mac version) obviously
Papervision3D (Open Source 3D engine package for Flash)
Audacity, which is an open source audio editor.  I cut out about a minute from the song
Flash CS3
Fireworks
SketchUp - exported the house to 3DS format

What was the biggest challenge with this project?
John: Poly counts and balancing the # of objects I needed in the scene to make it look good and accommodate 4/4 time signature where 16th notes were used plenty :)  Also, positioning and creating all the little planes for the windows.  I needed each window to be a separate object from the house so that it could be textured in Papervision3D individually, and then animated. 

Where would you like to see Swift 3D go in the future?
John: I can't wait to see a good UV editor and the ability to render to texture (baking shadows, making normal maps etc).  Those 2 things are on my wish list for sure and I've already told the Swift3D team about it on several occasions ;)  They're all over it from what I know!

Also, I'm looking forward to  importing Collada files as well as exporting since Sketchup's native file format is Collada.  It would be very simple to make a Sketchup importer since their KMZ file is just a zip with the DAE and images inside.

Further Comments.
John: It (Swift 3D v5.0)  played a HUGE part (in Winter Wonderland) - I was in it nearly every day of the project making adjustments to the house, the windows and trees as I went along.  Also, I went back many times to make changes to materials or add them to objects when I was ready to code against that object in the scene.  It was a very BIG part of the project.  I lived in it, and that's one of the things I really was hoping for in a 3D application for Flash - to have that comfort of popping in and out as I went along.  It was a very good experience!