Posts with tag "blender"

Making of MediaGoblin "Rise of the RoboGoblins" release artwork

By Christopher Lemmer Webber on Wed 02 May 2012

MediaGoblin 0.3.0 release artwork

We just made another release of GNU MediaGoblin: 0.3.0, "Rise of the RoboGoblins"! We've had "release artwork" for a while, ever since Jef van Schendel made the banner for our 0.0.3, "Talking in Rainbows" release, but recently I've been doing the artwork. The last few releases have come out with release artwork that is both more complex than my usual work, but also with results that I'm extremely proud of. In a certain sense, it's silly to spend so much time on release artwork. Sure, people seem to like it. But on the other hand, I probably could be coding. But my life has also been both at work and in hobby space more and more of "hacker management" work (as in, both doing programming as a hacker and managing projects that hackers work on) and it's nice to get some time in to do artwork for fun.

Anyway, several people have commented that they really like the artwork for this release, I've been meaning to write up a blogpost showing how I do artwork, and there are a couple of interesting aspects to the artwork in this release, so now seems like an opportune time to give a brief overview of the process.

First of all, materials. Excepting a minor bit of Blender assistance, I did everything in the GIMP for this release. I have an Intuos 2 wacom tablet that I use on my desktop, and I've used that as my primary art tool for almost a decade(!) now, but earlier this year I got a Thinkpad X220 laptop/tablet hybrid (with gorilla glass screen for scratch resistance while drawing; definitely recommended if you do much artwork on the go) and I do almost all my artwork on there these days. In fact, most of the artwork for this release was done from the car (Morgan was driving, of course).

I knew I wanted to go with the name "Rise of the RoboGoblins" for this release, both because I thought it fit in a very silly and abstract way, and because I knew I had some ideas for artwork that could go with it. I didn't have extremely specific ideas for the artwork, just that I wanted a group of robot goblins bravely standing around. So first step, figure out what those robots look like.

MediaGoblin 0.3.0 release artwork, character sketches

This is typically what my canvas looks like when I'm sketching out ideas. When I sketch for ideas I usually do a bunch of small drawings on a moderate/smallish canvas resolution. Fast and loose sketches, see what sticks. In this case, as I came up with robot designed I liked I moved them over to the side. I usually don't bother to clean up files like this very much. I use the pen tool for this, as I do for pretty much all my sketching and outlining.

Now that I knew what the characters looked like, I wanted to figure out where to place them. I had a pretty good idea of the character sizes based off of thinking bout the character sketches above, so I did a quick and rough sketch of things in an 800x600 canvas.

Robot goblin assemblage sketch

This looked pretty good to me, and I had a pretty decent sense of the composition and perspective. Yes, on its own, the above sketch looks like crap. But it isn't meant to be evaluated on its own; it's just a guide for me and me alone.

There's only one problem: I'm terrible at perspective. Or, that is, I can do perspective when it's just one object, but the moment I start to put a bunch of objects in a scene I start overworrying about the structure of perspective and tend to overcompensate. Luckily, I had a trick up my sleeve that I used in our previous release, 0.2.1, "Gearing Up":

Gearing Up character, with blender cube scene

Basically, taking a cue from the wonderful Blend & Paint training DVD, I made a minimal scene in Blender to figure out the perspective, then used that as a background layer to guide me in the shapes and perspective of my artwork. (Thanks to my good friend Lunpa for suggesting this technique probably would work with my artwork as well.) As you can see, the shapes are super, super basic in the blender scene. I don't need anything complex, I just need to know where things are. So, by that same principle, all I really needed was to line up some cubes on a plane with some simple three point lighting. So I did just that:

Screenshot of blender with robogoblin perspective sketch loaded

Now that we have that, it's just a simple matter of rendering that, scaling up our canvas on the perspective sketch image to three times what our end result will be (2400x1800 for an 800x600 scene), and adding the blender render as a layer for "guidance". I duplicate the "perspective sketch" layer, move things into place, and refine the sketches a bit so when I do the next draw-over it'll be a bit clearer where things go.

Screenshot of blender with robogoblin perspective sketch loaded

So now we have that, but the outlines are nowhere near what we want here; this is just guidance stuff still. I create a new layer to create another sketch with more details. At this point my desktop looks a bit like this:

My desktop as I'm sketching out the 'robogoblin assemblage'

At this point the details are shaping up pretty nicely. However, the middle-left character still looks a bit rough comparatively. So I do three things: make a new layer to draw final outlines over the sketchy but mostly correctly shaped outline ones, make a layer to block in color, and make a layer to go under that which I just paint white so we don't have accidental transparency in spots (I use a pressure sensitive pen and like a bit of the painterliness that comes from using an opacity-varying brush).

Early colors for the robogoblin crew

Once that's done, it's time to start shading things in (at this point we have colors, but they're pretty flat). Only one thing: I'd like to be able to have reasonably accurate ideas of where the shading could be. Luckily we already have a Blender scene set up for this, so I swap out the cubes for Suzanne (the Blender pseudo-mascot monkey) heads:

Monkey lighting!

At this point, we're set to shade things in. Really, my method of shading is pretty lazy... I use a circle brush with the burn/dodge tool in the GIMP and "paint in" shadows and highlights with some cleanups and minor detail with the paintbrush and airbrush. The rest of the work is making the background (I used the plane from the blender scene with a conical gradient to give a bit more shadow moving toward the focal point) and some slight color adjustments with the curve tool. I sketch in the shadows at their feet using the pen tool and the cube scene for guidance, add the text, and I'm done!

My desktop at the end of the drawing process

So that's pretty much it! If you want to follow around or play with it, feel free to download the source XCF file. (To avoid ambiguity, it's CC BY-SA 3.0.) Not all my artwork is as intensive as this one is, but I'm very pleased with how it came out, anyway. Not bad for someone who doesn't have formal training, amirite?

And now, a minor tangent. One of the biggest joys of MediaGoblin development is really working with the incredible, incredible community of contributors and users we have. I've started a thing called contributor drawings to give thanks to people who have done a lot for the project. Sadly, I'm pretty slow at getting them done. But I was pretty pleased with the way this artwork came out... indeed, I tend to think it's some of the best artwork I've ever done. So now I want to take the opportunity to dedicate this piece to a particular community member... Jef van Schendel is our lead graphic designer and is responsible for MediaGoblin's primary look and feel. I felt it was appropriate to dedicate the piece I thought was the best of my artwork to the person responsible for MediaGoblin's design (and also the person who started the MediaGoblin release art tradition!) and I'm happy to say that Jef accepted this as his contributor drawing. Thanks for everything you've done, Jef! MediaGoblin wouldn't look nearly as awesome without you.

Me, elsewhere on the internet

By Christopher Lemmer Webber on Thu 05 May 2011

I have a huge backlog of blog entries I've been meaning to write about interesting things I've done recently, but haven't written because I often feel like I should be doing interesting things instead of just writing about them. Luckily most of the things I've done online recently have some sort of interesting web presence, so I'm just going to link to a bunch of them and call it a day:

First, conference stuff:

Next, even though I've been mostly silent here, I haven't been at work (well, I should be doing more work blogging, but anyway). On the main Creative Commons blog I've written the following:

That last one (the plaintext legalcode) was actually a side effect of something even more exciting: Using CC0 for public domain software, and CC0 compatibility with the GPL. I didn't write this blogpost (Mike Linksvayer did) but I was heavily involved in this process. For about half a year we had on and off conversations with the FSF (particularly Brett Smith) about GPL compatibility. At this point there had been nothing clearly marked about CC0's acceptability for software or whether its fallback license was GPL compatible, and for a tool that's all about internationalizing the public domain this seemed completely crazy (well to me, anyway). I made the assertion that getting CC0 on the FSF's free software licenses list and being noted for GPL compatibility would be the gold standard, and I am very happy that this is exactly what we achieved. Honestly, keeping the website running, maintaining our tools, etc is pretty great, but I think this may be one of the most important achievements I've made while working at Creative Commons. (As a side note, I think this means maybe that CC0 is now the only legal option for something that is simultaneously both free culture and free software (like some game assets) without dual licensing?)

I've also written up some more technical posts on CC Labs:

I've also been doing quite a bit of work on Tube doing python scripting and the like. I'd like to write more on this soon. Maybe I'll guestblog over there eventually.

Oh, and of course, even though I'm usually silent here, I am in no way silent on my microblog.

That's all for now, or rather, all I'm going to bother to post. There's actually something much more exciting I'd like to mention, but I'll do that in the next post.

Update: There's another reason I haven't posted much. A while ago I switched my blog over to Zine and thought it was a great move because at least I wouldn't be maintaining my own blog software anymore. But Zine is now also unmaintained, and I haven't set up any sort of spam filtering system, which means at any time I have about 1000 unfiltered mostly spam comments to go through, and every time I think about blogging I get exhausted thinking about filtering through those comments. I had a crappy accessibility-breaking captcha on my old blog, but at least it worked. Until I figure out a better solution, and frankly I'm too busy to probably do that immediately, I've taken a tip from Bradley Kuhn's blog and am just going to use StatusNet's great comment threading as my comment thread. :) If you want to comment, you'll have to use something OStatus enabled. For now.

Comment on this post on!

Gonna speak on Blender at PyCon 2011

By Christopher Lemmer Webber on Sat 19 February 2011

Are you going to (the US) PyCon this year? I am! And I'm pretty excited about it, since I will also be presenting on Blender's new Python API!

The talk lineup looks really great this year. If you're planning to go, and you read this, maybe consider contacting me; maybe we could say hello, potentially having one or more interesting conversations!

Urinal model

By Christopher Lemmer Webber on Tue 15 February 2011

In December Rob Myers contacted me about a commision of making a urinal in Blender as CC BY-SA 3.0. He wanted to get it 3d printed via Shapeways, etc. I agreed to it with moderate enthusiasm. Most of the things I do are more gobliny or monsterish. But, I figured, Rob Myers is such an awesome free culture advocate and a good friend, it would be a challenge to do something different, and that it would be pretty awesome to see a model of mine 3d printed. Besides, how long could an object that looked so simple take?

Well it ended up taking about 5 times longer than I expected. But the results, I thought, were pretty good:

urinal render

As usual, I neglected blogging about cool things once I'd done them, but Rob Myers pushed it all over the place. First a post on his blog called Freeing Art History: Urinal. Then he uploaded it to Thingiverse and... super cool... BotFarm (from the MakerBot people!) printed one. It looks super cool. Click that last link. Click it!

But last, and most awesomely, Rob got his Shapeways urinal print, which looks super awesome. And guess what? BoingBoing picked it up! Holy cow, I'm on BoingBoing!

Anyway, the urinal.blend is available if you want to open it in Blender (also CC BY-SA 3.0 Unported licensed). Hopefully you can have fun using it (digitally or physically)! I also have some renders from alternate angles up if you want to look at those.

Anyway, sometimes when I do things, I think "maybe I should blog about or promote these things". But then I feel like they aren't that impressive, don't matter too much, and sometimes I lose enthusiasm for putting them out there (which is somewhat ironic since a good portion of my life is about encouraging other people to put things out there in a free-as-in-freedom manner). I guess maybe the biggest thing I've learned from this is that maybe I should be more confident and enthused about showing the cool things I've done. Thanks Rob, for giving me an opportunity to learn that. :)

PS: I mentioned that most of my 3d modeling involves monsters, spaceships, robots, etc, and that here was an excuse to do something different. But that didn't stop me from making a spaceshipified version. :)

Patent Absurdity

By Christopher Lemmer Webber on Sun 13 June 2010

So, it's a bit strange writing about this since the film I'm about to talk about has been out for two months. I'm talking about Patent Absurdity, directed by Luca Lucarni, sponsored by the Free Software Foundation and with animations by... me!

Actually, it's kind of surprising that I haven't written about this sooner, considering the first several months of the year this is mostly what I did in my non-work hours. Unfortunately I sustained a wrist injury right around the release that stopped me from doing any typing outside of work hours up until just a couple of weeks ago (it's healing but I still need to wear braces). Anyway, that's a separate story, probably worth its own post.

The film gives what I think is a really solid and enjoyable to watch introduction to what software patents are, their history, and the dangers they pose to the entire software ecosystem. It elicited a very positive response when released at Libre Planet 2010, and everyone I know who has watched to it has spoken highly of it. It could be that sample's response has to do with the type of people I tend to associate with, but anyway... I'm convinced that it's a good and fairly accessible film (accessibility being something something that these kinds of productions don't always end up being).

So there actually four types of animations in the film. There are some very simple graph animations, a moving timeline of software patent history, a "wargames"-type animation (what's featured on that poster there), and an ending sequence that I won't spoil here. Of all of these the wargames sequence seemed to elicit the strongest reaction from people, which is good because that's also the piece that involved the most effort. All of the animations involved Inkscape and Blender in some form, but the wargames animation also made use of Blender's new Python API, which is awesome.

In fact, just this thursday I gave a talk on Blender and Python in Patent Absurdity at ChiPy. (Thanks to Carl Karsten for doing awesome video recording, as usual. :)) Giving a talk on the Python API in Blender at ChiPy is something I've wanted to do for a couple of years, so it was great to finally do it. And the audience reaction was very positive. As you can see in the video, there were a lot of questions, and I got a lot of positive feedback (and even more questions) after the talk ended. Suffice to say I'm rather happy with things.

Oh yeah, and I've also released the Patent Absurdity animation sources along with a full README (HTML export here). While Patent Absurdity is released as CC BY-ND 3.0, I've released all the data (including the Blender and Inkscape files) for the animations as free culture under CC BY-SA 3.0 and the Python files as free software under the GNU GPLv3. So in case you wanted to see how those things work, you are fully free to modify, distribute and tinker with them... free as in freedom. :)