January 8th, 2009
We did make it to the movie Friday night, though we arrived a bit later than we had intended and ended up sitting on the end of the second row. We had a good time anyway. It was Elsie’s first movie at the theater and she did a great job. Probably due in part to the new environment– in the dark with the giant screen and she did enjoy the movie.
The movie was ‘The Tale of Despereaux‘. The main character, Despereaux, is a mouse whom Elsie liked. His first appearance in the movie on the day he is born and when we first saw him as a fuzzy little mouseling, Elsie giggled and waved hello to him. Her second favorite character, which she also waved at, was a cat who was not friendly at all, but Elsie likes cats so she liked this one, too.
The only downside to the movie was the inevitable (at any G rated movie) audience of bratty kids and clueless guardians, but we had a good time nonetheless. Even though we were joined at Wendy’s afterwards by the grandparents and children who sat directly behind us. All through the movie the boy kept asking “Where’s my birthday present?”. At the restaraunt the kids (who sat behind us– not mine) were running around and being generally annoying as only those kinds of kids can. It was a nice switch when gramps delivered the food to their table and they quited down to stuff their faces.
I commented to Ruth that in 60 years the cycle would perpetuate itself and those now hyperkenetic kids would be the shuffling zombie grandparents saddled with hyperkinetic kids grandkids.
I’ve been working pretty hard this week on a project for my job. I am retexturing a model of the MV-22 which was made almost ten years ago and had been orginally textured with bad photographs of a real MV-22. With an updated version of the environment database, I had converted all the original models that had been delivered when the original MV-22 model had been built. Many of them had been converted then, from older versions.
Anyway, with the delivery of the new database, the appearance of the MV-22 model was no longer considered acceptable. It was ‘too dark’. So I used most, if not all, of my 2D raster image magic on the old 256×256 image textures to make them ‘brighter’. At first everyone was pleased with the transformation I had enacted, but a few weeks later it was now no longer good enough, despite the fact that I had made it clear that I had pushed the images as far as they would go. Any further ‘brightening’ would begin to wash out the images and reduce distinction.
Nonetheless something had to be done. I was emailed an image of a model of an MV-22 from a competitors image generator and asked to make something that looked like it. Aside from the fact that the competitors model probably had five times as many polygons (For those non computer graphic geek readers, polygons are equivalent to ‘sides’. Any 3D computer graphics are made of a number of poygons– flat surfaces, or ‘sides’. Think of a soccer ball. Consider all the hexagons and pentagons that cover the ball to be flat, but the ball is still mostly ball shaped. If there were more, smaller shapes covering the ball it would look rounder. So in a 3D computer model the more polygons used, in general, the smoother and more like what it is meant to depict it looks), the model looked almost bone white, unlike any pictures I’d ever seen of an MV-22 and decidedly unlike the muddy, dark, grimy old model I had spent two weeks making look far better, but still crappy.
In addition to having more polygons, I noted that the competitors model did not look like it used photographs for the textures, what we call ‘phototexture’. It looked like a videogame asset with textures created by a digital artist instead of by a camera. It looked very nice and accurate, but missing the certain amount of visual noise and subtle shading that phototexture adds which frequently (but not always) makes less than great phototexture look better than great, for lack of a better word, illustrated texture.
Seeing this, I told the project manager that the phototexture on the model had gone as far as it possibly could and that if it still needed to be brighter, we’d have to try a different approach. I explained about the impression I got from the competitor’s model and asked if he thought the customer would accept retexturing job that would make the model look entirely different, but brighter and better considering the bad phototexture it currently had. He said they would and I went to work ‘illustrating’ the new texture.
I downloaded a bunch of images from Flickr to use as references and a line-drawing three-view of an MV-22 I found on google and began digitizing and drawing in InkScape. InkScape is an open source vector graphics editing program which I love. It isn’t quite up to par with Adobe Illustrator, but it is 100% free and all the fancy stuff in Illustrator that’s not in InkScape I probably wouldn’t use anyway– as if there’s any chance I’d be interested in something costing multiple hundreds of dollars even if I did want those features. Beside that, it’s open source! I love open source software and use it for just about everything. The one notable exception is the browser Opera which I also love and will remain loyal to over FireFox even thought it’s not open source, though I use FireFox, too.
Anyway, I started with the basic outline and some line details like windows and such. Then I started adding small details like panel lines, rivets, access hatches, small vents, and numerous small dookickeys and gizmos. When I had a good start on the outline of the shape and a fair amount of little details, I exported the vector image to a bitmap and used it as the texture on the existing model. The initial result was encouraging to me. It looked like the black lines of the 3-view had been drawn on a white model, but the general fit of the image to the geometry of the model was in the neighborhood so I forged ahead.
Let me here note that the model was originally in a format called OpenFlight which is prevalent in visual simulation applications. The program that this file format is for is called Creator and we use it frequently. I however, being an open source proponent, prefer to use a program called Blender In fact, I started using Blender before I got bitten by the open source bug and I love it. Again, it may not have all the features of programs such as Maya which are used by the likes of Pixar, but it has everything I need for the right price. Also, fortunately for me, Blender can import and export OpenFlight files and is much more conducive to the way I work than Creator.
So I imported the OpenFlight file of the original model into Blender and saved it as a Blender file. Then I used the texture mapping tools in Blender to apply the image I’d created with InkScape and this is how I’ve spent the lion’s (and the lamb’s, too for that matter) share of the past week. Bouncing back and forth between InkScape and Blender– adding features to the texture image, mapping them onto the polygons in Blender, then back to InkScape to tweak the image, then back to Blender to re-tweak the texture mapping and so on, and so on.
One of the things that has taken the most time to get just perfect is shading. The geometry of the model (the number and shape of the polygons) was created almost ten years ago when our systems could handle far fewer polygons than they can now. I don’t have time to rework the geometry (or I would), so I have to get every bit of kick out of the textures that I can. Part of that kick is making it look round. The MV-22 is, like almost all aircraft, curved. The geometry of the model is pretty flat-ish. Most of the side of the fuselage geometry is totally flat. In order to make it look round I added shading to the texture image I am creating with gradients. This has been surprisingly successful, but takes a bit of practice and plenty of time even once you get the hang of it.
It’s not quite finished and I am working as fast as I can, but it’s slow going. A coworker asked me today when I thought I’d be done so he could take a copy to the site to show the customer. I explained that I was going as fast as I could and that turning up the heat won’t make the cake bake faster. I think I’ll be done creating and mapping the texture tomorrow. Unfortunately there is work remaining after that to convert the model back to OpenFlight and work after that to clean up the conversion of the texture mapping which for some reason rarely flows through perfectly. Images rendered in Blender of what I have accomplished so far were enthusiastically received by both the project manager and the guy I told about the cake thing, though, so I’m not worried.
It’s funny how time goes by fast when you’re doing something you enjoy. I really find it delightful to use programs I love to do something I love and produce a product that makes me feel great every time I look at it. It’s even more enjoyable when I can plug in my earbuds and crank up the electronic music I love and just do my work. The word ‘cyberspace‘ has come to mean, basically, the Internet so cyberspace is not a good word for where I have lived this week. I’ll call it D-space, combining the ideas of 3D and digital (hence the D) to describe the alternate universe I travel to.
Sometimes I make it to D-space at home, but often. A prerequisite to visiting D-space is the ability to depart from meatspace (ie, the regular universe) which is greatly enhanced by a big monitor and plenty of memory and CPU horsepower. None of which I have as much of as I’d like to at home, but all of which I have a nice amount of at work. It’s only through the catalystic application of the abovementioned electromusic that I ever make the trip at home.
More frequently at home, I find myself travelling to W-space like I have been for the past hour and a half. That’s W for Writing and it’s a trip I intend to do more frequently this year than I did last year. Just like I always intend to every Janauary. Right now, however, I am about to board the transport back to regular old ‘at home’.