🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

3D Character "Accessorizing"

Started by
10 comments, last by DavidRM 24 years, 9 months ago
Few questions:

What point of view are you using on this game? (3D figures are used for everything from overhead to isometric orthogonal to full-blown 3D)

What are you making the character and accessories with? Is this a modellor thing or are you creating the vertices in OpenGL or something similar?

What significant portion of your life span are you willing to contribute toward making your character unique?

-fel

~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Advertisement
The game is to be in 3rd person "chase cam" view. No engine has been decided on, though I am considering Genesis3D. OpenGL is another option.

All figures are currently being planned as 3D models with various attachments (weapons and other equipment, also modelled) and rendered at run-time. Thus, "true" 3D with no pre-rendered graphics.

The game is currently in the design phase only. I'm simply trying to pull together enough knowledge to know what is and isn't feasible or even possible.

In other words: I know what I *want*, I simply have to find out what is *possible*. =)

Thanks again.

For clothing, I'm sure you can just paint different skins and load the right one at run-time. That's no big deal. Guns, knives, swords, change, lipstick, etc. would also be possible depending on how you want the character to carry them...are you expecting these things to ATTACH to the character somehow, like in a sheath? Then you need extra vertices on the model.
Well, I've studied how Ultima Online does it. Note of course that Ultima Online is a 2D overhead orthoganal isometric, but the concept is the same overall.
For each hair style, weapon, item of clothing, etc, you need an animation set for each movement the character will be making with that item, ie walking, swinging, guarding, blocking, sitting, etc. You have it a little easier because you don't have to do it for every possible angle of view if you set up your vertices correctly. These are then placed over the "base model" of the human figure, in the correct order, much like a paper doll, for each frame. For you, it would be something like dressing up a Barbie (or GI Joe depending on gender), with sets of vertices. The accessories are drawn relative to a base origin on the "basic model" so they show up in the right place. Each accessory only needs to be rendered once in one color for all possible motions, as color (and texture in your case) can be easily changed. Some of this you can get away with easily due to your medium, such as just coloring the torso for a tight-fitting shirt and moving some things such as helmets and armor relative to where the character's "skin" is, but many things, such as weapons, "flowing" clothing like capes, and anything else that can move somewhat independently of the character, are going to have to be done this way to look right.
Can it be done? Yup, Everquest does it. Is it a lot of work? Absolutely. Is it too much work for you to do? *shrug* You tell me.
I hope this makes sense. If not yell and I'll send you some examples.

g'luck
-fel

~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Thank you both for the detailed responses. I really appreciate it.

The design is still very much in the "fuzzy" stage, but this helps quite a bit. I'll be adding your responses as an attachment to my design doc.

At least now I'm reasonably certain that I *can* do what I want. After that it becomes a question of figuring out if this is really what I want to do. =)

Thanks again.

Ok, you guys prolly dont know who i am, I'm Comatose from Faldon. Faldon has "pastable" characters, with a body, hair, pants, shirts, gloves, boots, weapon, and shield. These are all rendered separately, then blted in the correct order. This same technique could easily be done for a 3d game, provided your artist is well versed in boolean operations (mostly boolean subtract).

What you would do is start with a body, hairless and naked. After this, you add hair and weapons and the like, which move with the body through the frames. This is one of the two solutions. It makes for many more character possibilities, but it makes for wasted polygons, as the body's are masked by the clothes's which are masked by backpacks and quivvers and the like.

Another option is to make the characters with every possible combination and save them as different models. IF there are only several types of armor and hair and the like, this is a better solution as it cuts down on render times.

The best way to do it in a true 3d environment is probably to have separate models for the armor/body combinations, then paste on lower polygon things such as weapons and hair.

Coma

The difficulty with "accessorizing" as you describe is texture memory. If you are only going to have one of these accessorized figures on-screen at once (or if you're going to rely on software rendering), you can probably get away with it. However, with more than one such character on-screen, texture memory gets eaten up quickly. On hardware-accelerated systems, this can become a towering problem very quickly. Beware.
I've seen accessorizing done in Final Fantasy 7, though I'm not sure it's exactly what you're looking for. Anyways...
My thought is that the body parts (hands, torso, head/hair) are saved with the accessory "put on." Each part would then be loaded in as changed, replacing the older part. This would do away with having to change the entire body or wasting polygons or texture memory.
One catch is that the character(s) movements should be limited so they aren't passing swords through arms or the like. Another is that different sets of poses would be needed for different types of weapons (guns, swords, staffs.) You probably wouldn't want to hold a sword the same way as you would a staff. <8o

[This message has been edited by SonicSilcion (edited August 25, 1999).]

The way I'm doing it in my game is componentizing models into model blocks. Each model block will represent a thing like an arm, leg, or head. Model blocks can have children model blocks, which can be further specialized.

Also, model blocks can also have things called connection points. The connection points serve as points where other model blocks connect to. The points transform the block into the appropriate position.

That way, to have a character wield a sword and swing it, I only had to model one sword and the only thing I have to change to swing it is how the connection point transforms the sword. Get it?

That's how it should work in the engine I'm writing. I haven't tried doing stuff as advanced as swords, but the object in my test program has arms and a head (just blocks). http://members.xoom.com/mutex0 (Defy)


Like Jered said, using skins for the clothing is the most practical solution. Other accessories such as hats, shields, swords, guns, etc can easily be handled using model hierarchy preferably with skeletal animation. You place a gun in the hand. when the character moves, the arm is a child of the body, so the arm moves, the hand is a child of the arm so the arm moves, and the gun is a child of the hand so the gun moves. Same with rotation, or any other type of transformation.

In my own mind, I would say that the above is reasonably easy, but doing things like chest plates etc that fully wrap the charactet - and having lots of them would be somewhat inneficient, and not worth the hasle.

This topic is closed to new replies.

Advertisement