I sometimes wonder who’s reading this and are you really enjoying yourself? I must be doing something right. Either that or you’re all waiting for blueprint so much that you’ll put up with pretty much anything I say. Anyways, things are looking great for blueprint right now. I’ve completed the changes I did yesterday and just moving onto a few bug fixes and getting ready for testing. I’m sure I said something like this a month ago, but oh well, these are the days of my life.
I thought I’d post some info on the mysterious channels in a Sims object. Channels you say? FOX? CNN? No, I’m referring to the image channels that a sprite holds. Each sprite in The Sims has 3 channels. The pixel, alpha and the much talked about z-buffer channel. Each serves a unique and important purpose. Why should you care? We’ll get to that later.
The pixel channel. This is really what your object looks like, in all it’s glory. Multicolours and all that jazz. If it’s deep dark blue in your pixel channel, it’ll be that in the game. The alpha channel is a special channel that looks like a blurry outline of your object. Why? It softens the edges around your object. If your pixel channel has a soft-edged image (anti-aliased) then you might get some of the yellow (the key colour) from the background bleeding through and into the game. So the technique is to create the pixel channel so it has hard edges, and let the alpha channel soften the edges of the object for you. The create is an art in itself that I won’t get into, however PhotoShop and some other tools can generate a pretty good one for you to get started. The z-buffer is the cream of the crop. This bad boy will determine where parts of your object site in the 3D world of The Sims. Huh? I thought the Sims was 2D? It is and because of that, it doesn’t deal with 3D geometry however it still has to let it’s Sims move around and not walk through things. This is called collision detection in game programming and generally you need a way to tell where a particular edge of an object exists as it relates to your Sims. The z-buffer determines this with a grayscale image that is shaped the same as your object. Dark gray pixels will push it to the front, light gray will indicate that section of your object is towards the back. This is the trickiest of the 3 channels and the one that causes the most problems with new object creators. If it’s too light in the back, it will fade into the wall, or another object. If it’s too dark in the front, it may appear in front of something that you don’t want it too (like your sims when they stand in front of the object).
So why do you care about all this techno-babble? Well, as far as blueprint is concerned, you don’t. If you’re using Tmog then you need to read up on these things and do some experimentation (SimFreaks has some good documentation and tips on how to make these channels). blueprint however will generate all these channels for you. If you ripped apart my recent dino you might notice that the z-buffer is pretty simple. There is an alternative method that I put into blueprint to generate this. After all, blueprint IS a 3D program and can very accurately determine the z-buffer in that respect. However, it was taking up to 2 minutes to export the objects so I chose a simpler method (the same one Tmog uses) to get it working for now. Later when I get it optimized to the point that you don’t fall asleep at the keyboard staring at an hourglass cursor while your object exports, I’ll replace the z-buffer generation code.
That’s it for now. Back to coding and making more objects. I’ll post news as soon as blueprint heads off to testing so stay tuned.