Brief Overview of Object Creation
By Heather Castillo
Making objects can be a difficult task. One thing that I will probably
repeat to you many times is that I always create my own zooms.
This is why my objects are clear in every zoom and I rarely have
any zoom problems such as bleedy objects. If you want to take
the easy way out, then by all means, create your fuzzy, bleedy
objects with fair quality.
First you need to get Transmogrifier from LushCreations.com..now available
here: transmogrifier.
You can use 2D or 3D to create objects. Programs such as Rhino
will actuallly render out objects with z-buffers and alpha channels
at a specified angle, which can make object creation much more
simple for you.
Heather's Rules of Thumb
Not everyone will agree with my methods. The methods I use are to
create quality art and objects. No taking the easy way out.
1) Do not tackle a big object to start with. Use
something small that only requires one or two angles of an image.
My tissue box (which I think needs a little work), would be a
good example. This is one image that I've used and flipped. 2) Always export All Zooms when creating an object.
3) Always export All Zooms All Channels if you are changing the
shape of the object.
4) Never, I repeat never break rule 3.
5) Use an image with a nice angle that matches the games. Flat
images are uuuugly. If you can't find one, take a flat image
and hand-draw, skew, cut-n-paste, do what it takes to make it look
like the view is coming from the top angle.
The Basics
When you are creating an object with a new shape, you will export
3 channels with each image. The ending letter is the channel indicator
(as I call it): a, p, z. They are referred to as the alpha channel,
p sprite & z-buffer.
The p sprite is where you start. This sprite is where you
put your picture of your object. It doesn't matter where you place
the picture inside the p-sprite, though we commonly find them at
the bottom of the image. The object you clone has a predetermined
position that is set by the bottom most pixel and the left most
pixel of your actual image. The background
of the p sprite should always be RGB 255 255 0 (#FFFF00)(solid
yellow), unless you are using that color in your actual image,
in which case you should use cyan, RGB 0 255 255 (#00FFFF).
To
avoid problems with yellow (or cyan) edges, it's best to alias
your image (leave the edges jagged and
solid, not smooth).
p sprites require custom/adaptive palettes. I will cover
more on these later.
Next you will want to create your alpha channel. The alpha channel
will determine the location of your object as well as enabling
you to make the edges of your objects soft. This is where you
fix that
jagged problem you created in the p sprite.
Finally, and most difficult of all is the z-buffer. If you
use layers for you object creation, you're a step ahead of those
who don't have that capability. In photoshop, you can use the
gradient
tool keeping the back a little lighter than the front and bottom
of the object. However, if it's too light in the back or bottom,
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).
See more about z-buffers in our Beginning
PSP Z-Buffer Tutorial.
Complete your large zoom and go through the testing process before
doing your smaller zooms. Most of the time you can shrink your objects
then paste them into the smaller images.
Testing
Unfortunately, there isn't an easy tool for testing. You have to
load your game and test your work. You may want to build a square
wall around your object to test for bleeding out of the exterior
walls. This occurs when your z-buffer is too dark in a spot.
You will also need to test inside for back bleeding (bleeding
into the wall at the back of the object). This is caused with the
back of the objects z-buffer is too light.
Test on a rug if the object sits on a floor to make sure your object
doesn't bleed into the carpet (too light).
Set objects on top if it's a chair or table to test for bleeding.
If your sim is sitting in a chair, and the back of the couch appears
in front of them, your z-buffer is too dark in that area.
But if the arm of the chair doesn't appear in front of them (if
designed in such a way to do so), that area would be too light.
If your object is a table object, test on several surfaces. The
London "Cupertino" Desk often causes the biggest problem
because its z-buffers are a little darker than some of the
other surfaces. Be sure to test table objects on this desk and other
surfaces.
Do NOT forget to test your zooms & rotations. Get a friend
to help test, or get BETA testers. Lots of willing people out there.
Custom Palettes
I can only speak for Adobe Photoshop, because I do not use anything
else for object creation.
There are two ways to save to a custom palette and I only use this
method for the p sprites.
With the first image, you will want to do one of the following.
If you are doing angles that may require different palettes, it
is highly recommended that you complete each angles' p sprites
then cut and paste them all into one image with a solid yellow background
to create the best custom palette for your image.
Use one of these methods:
1) Image - Index - Adaptive
2) Image - Index - Custom (Save Palette).
NOTE: If you have indexed something previously, you will want to
drop the selection box to Adaptive before choosing Custom, otherwise
you get the palette of the previously indexed image.
On the following p sprites, you will want to save to:
Image - Index - Previous
Exception to the rule:
If your image doesn't have 256 colors to fill your palette, it
may try to fill black in the palette. Transmogrifier seems to
have a hard time dealing with this. (New versions may ignore
this error). In order to avoid problems, pick any
color and spray it into an area with yellow (where your object
will not appear). You will be able to block this area from your
image using your alpha channels.
On your alpha channels and z-buffers, create these
in a new image then paste them into the sprites. This way you won't
have to deal with the palette issue.
|