Sunday, July 26, 2009

Old Tricks for New Dogs

Oh the things we learn we never dreamed we would ever need to know. After far too long, I've finally gotten around to working on Rosentendo & Guildenwii (working title), a machinima piece based on a tennis theme.

Actually I have been working on it for a while. I've bought 2 different tennis games over Steam, and figured out how to play them (as previously mentioned not something I would do otherwise).

Today, however, I knuckled down to figure out what shots I needed and set to work with FRAPS. Before long I had enough clips to get started. I fired up Adobe Premiere Pro, imported the files, and thought I was cooking. That was until I discovered that the audio on 3 of the 7 files disappeared after 33 frames. Drag.

Well, obviously, google to the rescue. Seriously, google is starting to scare me, the way it knows all that is known. But i digress. The point is that one quickly learns that A, fraps doesn't have its own forum, and B, the fraps codec isn't premiere friendly.

clearly, a conversion is in order, and as Im on a budget, a free tool was a priority. VirtualDub is well know to the machinima community to so that was my first choice, and it did work. But the file sizes weren't so good and I didn't trust the ancient codecs that appeared on its default list of choices.

back to google, and presto! HuffYuv pops up double-quick. Download, install, and I'm good to go seconds later, right? SORRY!

Didn't work. But I've been learning. Could VISTA be the culprit? Google says, 'Youbetcha!'. But Google also says, 'wise man reads forum post, learns complicated method for installing codec!' And sure enough, after carefully following instructions, Premiere Pro is playing my clips, with Audio. But who knew I'd be learning how to authorize Administrator level installs by typing 'cmd' in the run-box and pressing Ctrl-Shift-Enter? Or even that I'm teaching myself Premiere, even though I already use Avid and Final Cut Pro on a regular basis? Complete the trifecta, I guess.

Stay tuned, y'all for upcoming video.

Saturday, June 13, 2009

I'm not a machinimator, but I play one on the web

This isn't strictly machinima related. However!

A while back I found out about a neat program called 'Animata'. Nifty 2d puppeteering programming. Sort of like Anime Studio, but without the drawing tools, and performed live instead of keyframed.

Anyway, I wanted to use it. Thing is, it was never written as a product for public consumption. The creators used it for their own performance needs and afterwards decided to release it into the wild. So there's no support beyond the user group. Now admittedly, the creators are very active on that list, offering quick response to questions. But there's no manual, no readme, and just a few basic tutorials.

The thing is, to do any actual puppeteering you need another application that can send OSC messages. Don't know what OSC messages are? Neither did I.

That brings me to the point of this post. The internet. Or rather, how things have changed in my lifetime. My entire experience with Animata is conditioned on the tremendous role in my life of the internet.

How did I hear about Animata? On somebody's blog. Where did I get it? I downloaded it. How did I finally figure out that I needed another program to act as a puppeteering controller? By posting a question to the email list. How did I figure out what OSC messages are? Google. Of course.

But it doesn't stop there. You can't just download a OSC compatible puppeteering app.

[Hold on a sec, let me google that to be sure. Dang, its seems that there's Touch Designer. I'm going to have to d/l that and check it out. Its a programming environment, but it sounds like its a much higher level environment than Processing, which is what I"m using. More on that in a moment. Touch Designer is only WinXP only, Vista with caveats, and I'm bi-curious mac and pc. So its not an ideal solution for me, but hey, its free (non-commercially).]

To puppeteer with Animata, you've got to create something that sends appropriate OSC messages. I gleaned from the fora (there's that internet again) that PureData and Processing, two open-source programming environments, are popular options. Max/MSP is another, but it's proprietary and expensive. Once again off to the internet to download both PD and Processing. Take a moment, to consider the 'open source' movement, of which both PD and Processing are stellar examples. The internet is the oxygen that sustains it; without the internet, no open source software, shareware, freeware or donation-ware would be remotely possible. Certainly what I'm doing right now.

As it turned out, PureData wasn't working on my mac. Off to the forums in search of help. Alas, this time I was foiled; no help was forthcoming. I was bummed because I really liked the look of its graphical, rather than text-based, programming metaphor. Ah well, Processing was the winner. I can only handle learning one programming language at a time anyway. And though I used to write code all the time, and used to have pretty decent C chops, object-oriented programming is rather mystifying. It was just a theoretical construct back when I was stuffing 6502 machine code into the memory (a whopping 48KB; my 4GB laptop has 87,381 times more memory!) of my ATARI 800 with POKE statements!

Anyway, back to puppeteering with Animata. So I know that I should be able to write an interface for Animata using Processing; first thing I have to figure out is how to send OSC messages. Back on the internet, I learn about and download an OSC library for Processing. After much pulling of hair, a query to the mailing list set me straight (there was a typo on one of the few tutorial pages for animata), and I was able to control bones and joints in Animata using the mouse in a Processing app.

So now I'm cookin'! Next brilliant idea is to use my midi keyboard as a controller. Now I have to figure out how to use midi from Processing. By now I'd gotten good at this combing the internet for this sort of stuff, and in fairly short order got it all going on. Of course, I had to download a couple more libraries for Processing and update Java on my mac, but I got there!

From here there lies a fork in the road ahead. On one side I can start writing a midi implementation, which would be cool because that would allow me to use midi sequencers to help control the puppets' animation. On the other side is motion tracking; creating a system to control puppets through a video camera. I'm starting with the midi; its easier code to write, and I really like the idea that off-the-shelf sequencers can help me animate!!!

The video camera idea sounds incredibly cool. The reverse shadow theater example on the Animata website is terribly cool, but after doing a bit of internet searching I suspect that it will suck up a lot of my psychic resources. There's something called EyesWeb, but its Windows only (see above), and non-trivial.

Meanwhile, today I crossed the first hurdle. I wrote a Sketch (that's what programs are called in Processing) that translates key presses on my midi keyboard into skeleton animation. That opens the door; all the main conceptual obstacles have been cleared. Learning Processing woud have been impossible without the internet. Not long ago the only way to have learned a programming language like this would have been from a book; today I can use the awesome online documentation available at Processing.org.

[Seriously, if you're interesting in good website and documentation design, check out the site. the language is fully documented and cross-referenced with code examples that execute in-browser. What an asset when trying to figure out how to do stuff with it!]

The next big step is to really master Animata, which, as I mentioned comes with no documentation. (I think I volunteered myself to start a wiki about it.) The rigging process in particular is challenging. Stay tuned!

Sunday, April 19, 2009

Hairpin Learning Curve

Getting a PC has really jump-started my machinimaking. It would be nice to be able to use my Mac for all my needs but that's just not the case.

For example, I've been working on a piece with tennis as the central metaphor. While I admit I didn't do an exhaustive search, I wasn't able to find a suitable tennis platform on the mac. Ideally I would have liked to use TopSpin3, but that is still console-only. Buying a console is definitely not in my budget. TopSpin2, however, is cheap on Steam. Plus buying it though Steam saved me a trip to GameStop.

Now I've actually got to learn how to play the game, and curse the luck, play it well. Oh, and I've got to start combing game boards to see if there are any hacks for removing the HUD and other onscreen graphics. In short, I need to know all there is to know about T0pSpin2 in a hurry. And here's the rub. I'm not particularly interested in the game - for its own sake at least. Shazzbat!

Saturday, April 4, 2009

Tempus fugit

Yeesh! Has it really been four months since I last posted an entry?

Sadly, yes. But here I am again. The big news is that I've finally reacquired a PC, and thereby the ability to run some key machinima apps I'm interested in: iClone, GTA IV, Steam, Machinimation Studio, Far Cry, and others. Sims, Spore, Top Spin, to name a few.ada Psyched!

So stay tuned to this space. I've got a clutch of short scripts to get done, and even a few bigger projects.

Thursday, January 8, 2009

The Devil's Playground

I've been neglecting my blogs, and that's because I've been neglecting my machinima.

As usual, the root cause is too many distractions. In my defense, some were calendrical: the holidays rolled through like a typhoon, both in my work and family life. Nevertheless, just as I'm starting to get the hang of Blender, along comes Animata. And all the while Im working with SketchUp and MovieStorm and Studio Artist. Oh, and PhotoShop, Illustrator, and AfterEffects, too.

These last three I'm actually pretty handy with. But mostly as a sort of 'swiss army knife' toolkit. I'm not as good creatively, using them as design tools rather than problem solvers. Of course this is a reflection more of my lack of design talent, but that's why I want to spend more time with them, to try up my game a bit creatively speaking.

Then our economy (and the world's) has this little hiccup, I'm sure you've heard of it, which has left me with more unbooked hours than I'd like. Well, idle hands are the devil's plaything, so I've decided to make use of my new found free time to tackle some of the larger projects I've been neglecting for too long. This being the 21st century, the obvious thing to do is to blog about it. Et voilá! - my new blog.

I wil not be neglecting machinima entirely of course, so do stay tuned here for updates.

Saturday, November 22, 2008

Lights in the distance: oncoming train or approaching daylight?

Many people have discovered the joys of Google's SketchUp. I've been teaching myself how to use it, and I'm constantly surprised at the how easy it is to use. Particularly in comparison to Blender and Wings3D, the 3D apps I've also been working with. More on the choice of app later.

It really is a piece of cake to whip up some 3D geometry in SketchUp. For its intended purpose - a tool for 3d artists to quickly sketch out ideas without having to deal with drudgerous process of traditional modelling - it is a phenomenal success. It ought to win an award for its human-interface design. The golden cherry on top is that there's a FREE version, which has almost all the features of the pro version. Alas, that pro version lists for $495. Youch!

Not surprisingly, one of the most important features has been left off. That feature, of course, is the ability to export a 3d model that's useable in other 3d app's. Equally unsurprising is that the internet provides workarounds. I'd like to share my own workaround. It has its flaws, but it works.

All it entails is downloading the Pro version of Sketchup. The Pro version has a trial feature which is unusual. Instead of limiting the number of days it will work (typically 30), or disabling the ability to save work in progress, or watermarking or whatever, Google limits the trial user to 8 hours of use. You can spread those 8 hours out indefinitely (I'm over 15 months so far), which is nice. Now here's the trick. Google allows you to have the FREE version and the Pro version co-existing on your system.

So to convert your SketchUp models to Wavefront (.obj) or 3DSMax (.3ds), simply create the model in the free version, the open it in the Pro version and export it from there to the format you want. It's taken me about a minute or less to open and export the relatively simple models I've created so far. At that rate, I should be able to create perhaps as many as 480 models! And if I was really trying to conserve time, I suspect I could pack my SketchUp file with lots and lots of models, export them all as a batch, and use Blender or Wings3D to split them apart.

I've had mixed success with textures. I successfully exported a model that was created entirely within the Pro version directly to Unity, complete with textures. However, I tried today with a model created with the free version and I 0nly got the geometry. This maybe because I am using version 6 of the Pro Version and version 7 of the Free one. I'll keep noodling at this problem, and hopefully I'll find a solution.

In the meantime, I'm incredibly stoked. The ability to go from quick and easy modeling in SketchUp to interactive rendering in Unity (which I am now more confident than ever will prove to be a useful machinima engine) is a big step forward for me.

So why Blender and Wings3D? Simple: they're free! Admittedly, Maya offers a personal learning edition, but I still didn't want to deal with it because I don't want to have to deal with the watermarking - I want to be able to create real, usable output. Moreover, I have no ambitions to pursue 3d modeling as a career, so the fact that its' an industry-standard app means nothing to me. Now, if there were a PLE for 3DsMax, I might reconsider, but gMax doesn't really cut it (being PC-only doesn't help its case much, either.) Also, since I'm a complete newbie with 3d apps, I am not put off by the alleged 'idiosyncratic' user interface of blender. In fact, I quite like it - much more than Wings3D, for example.

As an extra bonus, Blender includes a game engine. I doubt that I'll ever make use of it, since I've got Unity (which opens Blender files natively), but hey, you never know!

Meanwhile, as I googled around a bit while writing this, I've learned that AutoDesk, publisher of BOTH 3DsMax AND Maya, has acquired SoftImage! So that puts AutoDesk in control of all of the industry-standard 3d apps. Frankly, that makes me want to use an open-source app just to be contrarian! Also, I couldn't find any mention of a 'personal learning edition', which used to be available for XSI.

So blender and wings3d it is, for me at least.

UPDATE: So it seems that Softimage does provide a free version. Its called the "Mod Tool". You can find it here. Hmmm. Might have to reconsider! Of course, when I tried to actually download it, I got a 404 error. And I couldn't determine if it was a pc only or cross platform program. Anyone out there know the answer?

Just don't call me Twiki!

After my recent stint helping AMAS to organize the 2008 Machinima Film Festival, I got thinking about other things I might be able to do to help out. It occurred to me that the Academy could use a good wiki.

I promptly googled free wiki hosting services, and set about creating one. I hadn't gotten very far before my age-addled grey matter reminded me that a machinima wiki already exists. It couldn't tell me where though, annoyingly, but eventually I found it again at mprem.com. There's some really good stuff there. However, a lot of it is out of date, and there are some pretty big gaps in the content. So I gleefully set about adding and updating where I could.

Classic procrastination. Finding something else to do when I should be teaching myself MovieStorm (hats off to ShortFuze for putting out a Mac version! Hint, hint, Reallusion), Blender, Wings3d, SketchUp7, StudioArtist, Anime Studio, VirtualStage, and in particular, Unity. Oh well. At least it's useful procrastination.

In my previous post, I invited the machinima community to volunteer with the AMAS. Well, here's another way to help, that ironically doesn't involve the Academy. Why not contribute to the wiki? Just don't call me Twiki!