Continuing my efforts to fill in all the models needed to render the first Little Robots Script, I started on modeling a phone… in this case, my iPhone4.
I thought incorrectly that the simple shape of the phone would make the modeling go by pretty quickly… but it turns out that there is some trickyness involved with how you get the little buttons and indentations into the body itself. There’s also texturing complications. You want the screen to be a single rectangular texture so that when you animate, you don’t have to worry about strange artifacts involving the screen content being stretched or otherwise transformed.
On this model, I still need to add the speaker holes and interface jack at the bottom as well as the buttons on the side. I need to revisit the front surface though. I’d like to actually put a transparent layer over it just like the real thing… I’ll be able to easy texture that with smudges and blemishes.
Here’s what I have rendered in-scene…
The metal texturing still isn’t quite right. For some reason I’m getting strange textured reflections from the surface of the phone. You can see it toward the home button in the render. It looks like it’s reflecting the wall, but the stucco pattern is way too emphasized.
Adding to the list of random things on my desk, we have a pen and a piece of paper.
The piece of paper is about as trivial to model as you might thing. I decided to UV Map it so that I could have both a front and back side of the page (though you can’t see it here). It also means that the stuff on the page itself will deform properly if I decide to wrinkle or otherwise mess with the page.
The pen was trickier to model than I thought. There are some funny curves and you have to cinch the subdivision surfaces at the right places for them to look right. For some reason the label that I applied to the pen refuses to show up in this rendering. I’ll have to dig into that later.
The way you model cables in Blender involves is summarized with this video: Making a Cable in Blender.
The thing is, that tutorial was created using the older interface… and it’s a bit tough to find in the new one. After struggling with it a little bit… I came up with the cable you see to the right.
I can now begin to create lots and lots of cable… which is good because cables make the world go round!
Creating book covers, particularly when you don’t really care about how well the book will actually sell… is a lot of fun. For the first Little Robots animation, I need to come up with a *TON* of books…. here are the first two…
These are both hard cover books… I still have to build out a soft cover model as well as a Schaum’s outline style workbook model. I’m sure that the softcover and workbooks will be more challenging than one might think… Sure, you could model it like just a box… but unlike hard cover books, the covers of their lighter weight counterparts tend to lift up on their own… plus there’s the possibility of the covers kinking and creasing.
If you’d like to use any of these book covers in your own models.. or are just curious what the images I built for them look like… here you go! Click for larger version.
I designed this one last night at like 1am. It’s a pretty stoic design… and really was meant to be just the template image to use for future books. I ended up liking the way it came out… so It’ll probably get used in the actual animation.
This second book I took a little more time with. The image that you see on the front and back covers was taken with my iPhone. I had a couple of old 1GB DIMMs from my Mac Mini. I placed them side by side and snapped the image being careful not to have any company logos or names showing.
I need maybe 4 or 5 more tech related books to have laying around on my desk. Any ideas?
This weekend I went through and added a couple new models to my desk scene..
First off, I wanted to model out a computer. This is my rendition of a mac mini (older model). Right now it’s really just the basic shape and a little bit of texturing… but it’ll do. The power light is always on, even if it’s not plugged in. It occurred to me while I was modeling this, I have no real idea how to make lights switch on/off… this is probably something I need to look into.
Along with the computer, it seemed pretty obvious that I’d need a monitor of some kind. This is a pretty generic looking monitor. I took the basic shape/button layout from a Dell 17″ LCD but stretched it out a little to make it wide screen. At the moment, the buttons are all blank, but at some point in the future, I’ll add the UV mapping for a power switch, +, -, and source. The base isn’t very inspiring, but I didn’t really want to spend a great deal of time on it…
Here’s a real rendering with the new computer components. I still need to add cables, but in proper lighting both of these models look pretty good… you should be able to click for the full sized image.
… stays on my desk…
This image is just me showing off the new desk model that I created in blender. This is based on my actual desk layout at home… although the objects resting on the desk in this case are fictional. This is the first of many models necessary to bring about the scene described in a previous blog post… essentially where my first little robot will be born.
You aught to be able to click to get the original rendering. Probably the most complex bit of this rendering is the lighting. There’s a mix of yellowish artificial light coming from spotlights located behind the turret… and then a slightly blueish “natural” light from behind.
I took some time over the Labor Day weekend to finalize Seña’s eye rigging. As you can see from the image to the right, the rigging itself is made up of something like 25 bones. Crazy but awesome.
A particularly pleasing aspect of finishing this rig is, it satisfies all of the requirements that I set forth in my previous post about Eye Detail. This means that I wasn’t forced to compromise with the features I wanted… I was able to figure it all out.
While rigging the “eye petals” (the four sun shades around the outside of the eye), I ran into another peculiarity of blender‘s armature system. Let me describe the setup… The eye petals each have a vertex group (upper petal, lower petal, left petal, right petal) and each vertex group has an associated bone in the armature (they’re the largest ones in the image above). Whenever I’d rotate a petal, though, it’d deform in very peculiar ways. Below is a simple rig that reproduces the problem…
For the first say, 20 degrees of rotation everything looks fine. You’ll notice though as the bone is rotated, the box it rotates starts to get smaller and no longer seems to follow the track of rotation. Grrr… what’s causing that??!
Before I present the solution, I need to show you how the vertex groups are set up so that I can explain what it is we’re seeing here…
You can see that I have two vertex groups… “Upper Box” represents the box we’re trying to move and “All Boxes” is a group containing both the upper and lower box. “All Boxes” is associated with the parent bone (behind blue one) and “Upper box” is associated with only the box that we’re moving.
Because the upper box is being influenced by two different bones at the same time, their overlapping influence on the vertexes of the box causes the strange behavior. The solution is to remove the upper box from the “All Boxes” vertex group. Once I removed the overlap in bone influence everything works as expected.
A while back, I had posted about a strange rigging behavior that I was seeing. I’m not sure that the description that I was terribly useful… so I decided to make a couple animated gifs to help with the visuals…
Here you see what a proper rigging is supposed to look like. The block rotates with the rotation of the “Bone”. Now, The following image illustrates what I was looking at…
You can see here, the cube is actually moving faster than the rotation of the bone. The exaggerated motion caused all kinds of stuff to get out of alignment.
The way you associate the Armature or Skeleton to an object is you set the Armature as the “Parent” of the object. In this case, the object is the cube. You do this by simply selecting the cube, then the Armature and hitting CTRL-P (You can also parent by going through the menus).
When I created the simplified case of the single bone and a single cube, it worked just fine. On a hunch, I decided to un-parent then re-parent the object and armature… and voiala! the problem was reproduced. It turns out that in Blender 2.5, you’re not actually “parenting” you’re setting a modifier on the object… so clearing the object’s parent does NOT clear its relationship with the armature. When you then re-parent the two, you create a SECOND modifier between the object and the armature, so any changes to the armature are magnified 2x… which is the behavior you see in the 2nd image.
Okay. Well, this is all well and dandy, but if you can’t un-parent, how do you get rid of the armature to object relationship? It ends up in the object modifiers tab. Here’s what it looks like if you’ve got an Armature associated multiple times with an object…So… all you really have to do at this point is figure out which of the two modifiers you want and X the other one(s).
In the situation with my aperture, I had created 3 modifiers.. so the pose was affecting the object three times as fast.
She’s still untextured, and not all of the mesh is there… but we’ve got a good, healthy start!
Like most designs, as the pieces come together, I’m sure changes will need to be made. The overall curvature of the front will be one alteration that I need to make. This particular change is necessary for the eye to rotate through its frame properly. Another change that I want to make is to the rear wheel. I have a double-wheel in this design, but I think that I want to change that to a single, larger wheel.
I suspect that the texturing of the robot will be fun… but to get to that point, I’ve got to do UV Unwrapping. This has got to be one of THE most arduous tasks ever conceived. It’s more or less the same problem as representing a round globe on a flat map… except instead of a globe, you have this robot.
Looming on the horizon is the task of sound. What’s this robot going to sound like? I don’t just mean the whirring of motors or other familiar sounds… A great deal of effort in the design was to make Seña emotive… and to complete that task I need to come up with a voice. No, this voice isn’t going to speak English, but in the tradition of R2D2, or the cute little robots from Silent Running, I’ve got to come up with a distinct, synthetic voice.
My current plan is to use a sine wave that’s got a base frequency. The base frequency will change a little up or down depending on the emotion being conveyed. This base frequency will have “words” added to it as bursts of other sine waves added in. The first few attempts may simply be a sped up and perhaps reversed Morse Code. I realize that it’s unlikely robots would communicate through something as archaic as Morse Code, but screw it, I’m writing fiction here!
So I spent the last few hours trying to figure out why my aperture lines up correctly in one pose but not in another. I’m sure that there’s a simple solution to the problem… and looking back I’ll think, “D’oh! yeah, that was a dumb newb mistake.” In a previous life, I was told that experiences like these are “learning opportunities.” sigh.
For anyone curious what a vertically slatted optical assembly looks like rigged in blender? Check it out… It’ll change over the next few days I’m sure, as I figure out my alignment issue, but to date, this is the most complex rig I’ve ever done. Go me!
So what you’re looking at here are the rig “bones” for the aperture which allow the aperture to open and close. Behind it, you see a fan-shaped set of bones which control the segmented slats above and below the eye that telescope in or out depending on the inclination of the optical assembly itself.
.The specific problem that I’m having at the moment is, if I incline the eye, the aperture drifts slightly to the left. I’ll experiment on it this weekend and hopefully find a good solution. Learning Opportunity, right?
In the meanwhile, I actually did a little bit more concept design work around how Seña will express emotions. Here are four basic emotions that I tried to express using the eye that I designed for her.
Actually drawing out the eye pieces in different emotional states, it showed me just how important coloration will be.
See if you can figure out what these emotions are…