Archive for January, 2009

little victories

We continue to push on at work. I reasoned out a few things about Maya’s internal workings this week (in particular, how references interact with each other), and I feel like, for the first time in all the years since I started using the program, that I might finally be getting used to it. That thought scared me.

On the Ramswoole front, I got an initial approval from my Mentor on using custom rigs and models. I need to have a test done using Briar (the main character) within the next week or two, though, and probably one with the Rock Titan done soon after. I have a working model of Briar already that’s unrigged, but I think I can have all but her face rigged up this week. Also need to change some of the model’s topology and fix her proportions but I think thats only an evening or two’s worth of work. Luckily because of how Blender uses rigs and applies them to meshes, I should be able to swap out my old model for the updated one I plan on creating when I get the new designs from my friend.

I also need to slightly redesign my current Wipix leg, reverse-foot IK setup for a character with animal legs.

The next challenge is the Rock Titan. I’ve been working on the design and I think he’s going to be modular now, with different rocks for different parts of his body. It’ll cut down on skinning time and I’ll also be able to have a bit more fun with his reveal.

cinema 4d scripting, part 2

Three posts in three days! I don’t actually have as much time as It appears I do; the iPhone WordPress app is very useful.

I’m finally at a good place with my rigging library of COFFEE functions that now when I code out a set or rig steps, things are behaving as I expect. I’ve recreated the “Wipix Leg” in code (if you’re not familiar with it, it’s a method for making a stable IK solution without the 90 degree pole vector flip trick in used in Maya), and I’m now at a point where I have to do some rig redesigning. In other words, I’m no longer fighting the code misbehaving– now I’m back to working on conceptual stuff.

I do plan on releasing some of what I’ve learned either for free here or on a DVD at some point down the line, with my function library.

One thing I found out that really put a thorn in my side is that my constraint code was made useless by changes to the Constraint tag in R11. By cleaning up how the tag works, Maxon has rendered the tag completely useless when working from COFFEE. I’m not sure whether Py4D will be able to do what’s needed; I won’t be able to begin porting my rig to Python until the whole thing is finished. However, because you can get selected objects as arrays through Py4D (and not through COFFEE) maybe there will be better constraint code workarounds in my future.

Also nice to discover was that the Wipix Leg works just fine in Blender. Stable leg IK was the one thing for which I didn’t have a setup I liked in Blender, but that problem is now sorted. Still thinking I’ll be using Blender for my short film because of it’s speed of use. I can build that leg from scratch in Blender in twenty minutes; it takes significantly longer in both C4D and Maya.

Tags: , ,

story pitches

This week’s homework was to make up three story pitches for our final project at Animation Mentor. I’ve actually been working on this one idea (really, anything surrounding this original character I created) for some time now, and I’ve wanted to do my short film on her since before I applied to AM. However, we did need three ideas to meet the grading requirements, each of them in the format you see below.

Here are my three ideas:

Pitch #1: “A Cross Titan” starring Briar — A Ramswoole Maide Adventure™

We open: on a close-up of a flower in a clearing after a forest. The titles fade, what looks like roots on the flower twitch, become legs, and the flower walks away. As it leaves, Briar enters. She’s a faun, young and thin, with ram horns on her head.

She’s obviously hungry, and is looking around for edible things as she walks down the path out of the forest. Then she sees it: across a bridge that spans a gorge, there’s a single tree with a single, ripe, delicious-looking fruit hanging from a low branch. She is elated, and walks quickly towards the bridge

Until: she steps on what looks like a stone, until it opens its eye and glares, angrily. We see her from behind as she nears the bridge, and a shadow overtakes her. She turns just in time to see a rock Titan swinging an arm down to smash her. She ducks, and it misses her but demolishes the bridge anchor posts on her side of the gorge. The bridge collapses. Briar exclaims wordlessly at the fruit, and at the Titan.

And then: the Titan attacks again. She dodges to the left, trying to circle around it, but it’s too large. One massive arm comes down to block her way; she turns tail and runs to the right. The Titan shifts, bringing its other arm down. It lands inches from her feet and the ground shatters.

She looks left, and right; she can’t see a way out.

And then: she notices that the Titan has plenty of space between its legs. It is closing on her now, pushing her to the edge of the gorge. She steadies herself, waiting for its swing. Both arms come up, and as it brings them down for the killing blow she dives between the Titan’s legs. She tucks into a roll, and on the other side of the Titan she mule-kicks him as hard as she can. The Titan loses balance and falls.

Close up on her as she waits for the inevitable crashing sound!

Until finally: she turns to see why the Titan has not crashed, and she sees that the Titan is just the right length to act as a temporary bridge. She crosses happily, pausing while on his back to give him a victorious face, then runs to grab her fruit.

(Optional, depending on time:) After the credits roll, we see her standing near the Titan’s hands, eating her fruit. She’s slowly kicking the fingers on each hand off the edge of the gorge.

Moral: In every obstacle there is opportunity. Also: Never cross a Ramswoole Maide.

Pitch #2: “Not My Kind of Dinner Guest” starring Granny MacGee

We open: on a kindly old woman in a living room. There’s a television, a reclining chair, and a TV tray atop which is a smoking TV dinner. The woman sits gingerly and looks about to enjoy a quiet evening in with her stories and meal.

Until: a cockroach appears from behind the television, frightening her. At first, it stays near the television so she tries to ignore it, but she can’t seem to take a bite with it there. She throws a ball of yarn at it. The cockroach dodges.

And then: it advances towards her. She freaks, stands (more nimbly than one would expect), and backs away. She grabs the knife off her TV dinner tray and tosses it, expertly, at the cockroach. It dodges again and continues to advance, pushing Granny MacGee down the hall. She tosses things she can put her hands on — a vase (from which she gently removes flowers beforehand), a coat rack, even a bowling ball off a bowling trophy on a table in the hallway. When that misses, she throws the table.

And then: she is backed into a corner with a closed door blocking her path. She feels for the knob but can’t find it. The roach comes closer, and closer. She feels her clothing and pockets, patting down her body to find anything else to throw, and her hands find her mouth. A light goes on. She pulls out her dentures and, just as the roach gets within arms reach, she brings the dentures down as hard as she can, splattering the bug.

Finally: she returns to her chair, picks up her fork, and flips on the TV. Then she realizes she can’t eat without her teeth.

Moral: Desperation in moderation.

Pitch #3: [ Untitled at the moment ] Starring Roger Jolly (Yes, the One and Only)

We open: on a pirate ship.

There’s a pirate with a sword, pushing a man tied with ropes to walk the plank.

The man pleads for his life. The pirate yawns.

The man gets on his knees and begs and begs! The pirate gestures with the sword for the man to get on with it.

The man comes off the plank and kisses the pirate’s boot. The pirate gets fed up (“Oh, for the love of Davy…”), and kicks the man backwards, off the plank.

The man scrambles! He holds on with his teeth! Then he falls.

He screams and screams and then: He finds out the ocean is only ankle deep.

The pirate looks over the edge, smiling, and loses his grin when he finds the man not dead.

The man in the “water” sniffs the water and throws up a little, you know, in his mouth.

Zoom out through a series of quick cuts! We find out that the entire thing happened inside a sky-colored cereal bowl.

The man who was eating the cereal is caught with the spoon in mid-air, mouth wide open. He picks up a carton of milk from OS and sniffs it. He throws up a little, you know, in his mouth.

Finally, we see the milk carton land in a garbage can.

Moral: Don’t drink expired milk unless you’re ready for wicked hallucinations.

There’s one other thing I wanted to post today. Last week I did my first bit of texture painting at work. That alone was interesting, but I also used Blender to do a bit of texture baking onto the character so that I wouldn’t have to paint the whole thing in 2D in Photoshop. The essential technique is to import the mesh of the character with UVs into Blender (or to UV it in Blender, seeing as Blender is still the best UVing tool on the market), then to add a texture that’s projected differently and bake the projection down into the UV layout. This way you can more easily lay complex patterns and colors onto your mesh without having to pay for ZBrush or BodyPaint 3D. Both of those packages are great at what they do, but for AM students just trying to spice up a character they’re a bit expensive.

Anyway, here’s the video I made. Hope it helps someone.

qt 4.5 now lgpl

Some excellent news: Qt is soon to be released under the LGPL. Long story short, this means you can now use Qt for commercial projects (provided you’re careful and understand how the LGPL 2.1 and provided you don’t modify the Qt libraries) without paying the old $4995US fee.

They’re still providing the “commercial” release for people who want to pay for it. I suppose in some circumstances companies might need it, depending on what other code they need to interface with, but for the majority of new projects the LGPL license is perfect.

I’d always shied away from Qt in the past because as good as it is, the licensing was too restrictive for some of the things I wanted to do. But combine this news with the fact that Qt 4.5 will support 64-bit Cocoa for app creation and I’m already planning on using it for my next personal project.


I’m finally downloading the Windows 7 Beta right now. I tried a few times yesterday under Vista, as my desktop is only booted into XP when I have a straggling program that won’t run in the newer OS, and as I’ve said before on my blogs I quite like Vista. Every time I tried to download the beta, however, the ActiveX component I needed to get it going wouldn’t install.

So I booted into XP and the download is now running happily. I guess Microsoft still has a few things to work out.

After the last MacBook Pro fiasco and reinstalling from my Time Machine backup, Mail decided to fail on me. Again. It acted like I was a new user and lost all my old messages. Thankfully I haven’t deleted messages from my account on the server in a long time, so I can just re-download them, but this is a serious problem with the way Mail works that has bugged me for years. I switched this morning to Thunderbird, which I’ve gotten used to at work and which, while not pretty or as feature-rich as Mail, should suffice.

Wonder what that’s going to do to my iPhone syncing, but I suppose that’s a problem for another day. For now, back to work.

back at work

I had planned on heading in to work Saturday and Sunday after I got back from Puerto Rico, but was told to enjoy the last two days of my vacation before coming in for two more hard weeks. Score.

I did get some sleep in. A friend of TJ’s whom I met Friday night reminded me of keeping the room dark, so I’ve been playing with a sleep mask which seems to have somewhat of an effect.

As far as my film goes, I spent most of Saturday in Lightwave 9. I’d had a lot of crashing issues before when using dynamics in the beginning; under 9.31 the cereal tutorial on the official videos site was impossible. However, all’s well now.

There were two things that I wanted to use dynamics on: one is a sugar cube for this site. I tried a bunch of different ways to make sugar cubes using only textures / displacement with simple geometry, but nothing looked right. Then I had the idea of using hard-body dynamics on a bunch of tiny cubes and letting them settle into the shape I wanted.

Interestingly, bounding-sphere collisions between the few hundred or so tiny cubes ended up creating a nicer-looking sugar cube than using bounding-box collisions. The boxes also took a magnitude longer to calculate. Anyway, I won’t bother posting the interim images since it’ll become the header of this blog once get it finished.

The other thing I wanted to test in LW was whether or not I could use it for the effects shot in my movie, the bridge collapse. I’m almost 100% sure I can do what I need with ClothFX and a hard-body FX link, and it’ll be easier to accomplish in LW than in anything else I have. People told me when I bought it that I was crazy for doing so, and still tell me that, but I keep finding new reasons that warrant my purchase.

On the Cinema 4D front I made some scripting progress. The supplied language, COFFEE, lacks a lot of what I consider necessary utility functions, things like easily applying constraints or even something as simple as being able to tell which object was selected first in a list. Yesterday I got through making a function for applying IK constraints. It’s really simple, taking the starting object, the ending object, the goal object, and the pole vector object as parameters. I went through a few versions of the function (again, it’s really simple — only five or six lines long) until I was happy with how it worked in the scheme of the whole script.

The next thing is aim constraints. They’re a little harder because of how C4D handles them, but I think I sorted out one of the issues I was having late last night, so all that’s left is to test out my idea.

a whole new year

I dropped off my MacBook Pro — again — for, hopefully, a fix and an end to my issues with the graphics card. They also fixed my iPhone, or rather, replaced it with a new unit and swapped out the sim card.

I’d forgotten how nice a fully functional iPhone is. Mine’s been busted for so long I’d gotten used to the lack of my ringer off switch.

My sister flies out tomorrow. We got her to watch Ms. Pettigrew Lives For A Day (one of those lovely movies you have to see if you haven’t, the kind you keep on hand in case of rainy days, bad news, or emotional meltdowns), and that got us on the topic of Lee Pace and how much we’re mourning The Piemaker, which got us on the topic of Bryan Fuller. She’s an IMDB nut, not unlike our father, so we now know that Fuller’s had his hands in a lot of shows we’ve both enjoyed, like Star Trek Voyager and Dead Like Me. Much as I enjoy Heroes, I find it odd that it survives and the more interesting shows he’s worked on over the years have, not failed, but been killed off.

Makes me wonder when the entertainment sea-change the Internet was supposed to bring about will actually arrive. I feel at times that we’re close; The Guild and Pure Pwnage prove that smaller narratives can be possible on tight budgets. Sanctuary must have been successful in order to spawn the Sci-fi channel series. But when will we get that truly break-out bit of entertainment from an indie studio? Something everyone tunes in to watch through their browsers, because it’s as good or better than what’s on TV?

There have been a lot of shows in England that started with only a six-show season. Maybe that’s not a bad target for a compelling, 22-minute Internet series. Now’s about the time for this to hit, with all the good shows getting taken off the air in lieu of reality programs and Howie Do It.

Just need someone like Felicia Day of Joss Whedon to lead the charge.