Unity3D Game Developer, WebGL Developer

Winter Wonder Land Animation – I’m a little late

Originally inspired by a kickin’ real life Christmas display on YouTube, I’ve spent the last 2 months in the evenings and weekends creating this animation sync’d to “Wizards In Winter” by Trans-Siberian Orchestra:

Now you might wonder *why* I would spend so much time on this – right? Well, partially because I was forced to endure this lame version by Miller Lite every day in December -UGH!!

I finally snapped after the 100th time of having to watch this thing and got to work.

Now, the guys over at Swift3D came out with Papervision3D support and I wanted to do a project with Swift to see where the holes were and what it was really capable of doing. I’m here to say Swift3D is the real deal – it has powerful tools you’d never expect, and it gives you a ton of export/rendering options that every Flasher out there needs when doing 3D/2D work. So, with the exception of baking in shadows on the house’s texture, the entire scene was modeled in Swift3D.

The trees were all created with the lathe tool (which freakin’ rocks for stuff like this) and the star was a simple extrusion. The house, oddly enough, was from Google’s online library of free Sketchup models. I was able to convert it to 3DS and Swift3D imported it right into the scene. How cool is that?!?!

I then sat down to write out an animation engine I’d been meaning to try for a while. Basically, I created “Sequence Groups”, and played their “parts” on the computer keyboard with the music. When I was done with the particular section, I would dump an array out of the recorder, paste it into my code for the particular SequenceGroup and bam, the engine took care of the rest. I was seriously surprised at the accuracy I was able to get with this method – I was able to play 16th notes wiithout it dropping a single note and in my testing (even though this song doesn’t have any) 32nd notes worked at this tempo as well.

After some serious rounds of optimizing the crap out of this thing, it runs at 1000×500 on my Mac Book Pro in the mid 20’s using the 9.0.115 player. I sacrificed a few killer concepts I wanted to put in there like Fire coming out of the chimney, a snow globe dome and an Xwing pulling the scene through outter space to name a few ;) I originally wanted to use the Effects branch to put in blurs and glows and try some DOF stuff, but there just wasn’t any room after over 5500 ploy’s and the size of the scene and animation…and music…and everything else ;)

I really pushed to get this done for this weekends class in San Francisco – it turned out to be one of the coolest teaching tools I could have ever imagined. It’s got tons of tricks and optimization techniques as well as demo’s on communicating with your Papervision3D scene’s, materials and DisplayObject3D’s. So for all of you making it to the class, you’ll have the full source given to you and we’ll be covering how it was done and dig in with some hands on examples.

I’ll be posting the code for this project after the San Francisco class next week sometime.

I might add that the 9.0.115 player really gives this a boost. Usually in the mid 20’s with the FPS, and in the high teen’s with the Flash IDE player.

Oh, so the gauntlet has been thrown then. And as a developer at Miller Lite’s digital agency, I feel I must respond.

We have your framework. We deployed a project using it last year. We will do more in the future. It will be better than whatever this thing is. Beware the long arm of digital marketing. We are everywhere and we know AS3.:)

@Jared: See, I like Miller Lite, so I almost didn’t point out that it was your commercial, but dood, I’m GLAD the gauntlet is thrown down so to speak. That was a total one off in my opinion. I felt for you guys. you probably had zero time to work on it, and had to get it out as-is (at least, that’s what I’ve always thought – let’s hope that’s true)

anyway, GOOD! I can’t wait to see what you guys come up with! Especially since you’ll have a budget behind yours (unlike my 2 month endeavor over nights and weekends)

Great class John. And yes, it was cool to go through the source to Winter Wonder Land, especially the part about optimization tricks to get the FPS rate up. I’m going through all the code today and trying to digest the info-dump.

Andy’s filter tutorial was pretty awesome too. I had the football game running in the back of the room but kept missing the plays trying to keep up with the code Andy was putting up ;-)