Player model and THE customization
Well it is time for me now to have a customisation of player implemented.
Till now i never thoud it will ever be a problem for my game, but since now i know i have to allow my players to change their clothes / customise their look - i can't figure out how to prepare my models for this.
A bit of informations.
I have two models in my game:
FEMALE / MALE
both animated and created with 3DS MAX 7, having ~500 polys (MMO Game).
Animation is done via Biped - and till now it was really ok.
Well the question is:
Is there any tips/tricks for making a player model available for eventual cloth change? I mean, if i keep renedering my player model and start to render additional one in his position (let's say it is armor) is that the method?
If so, how do i ensure my hairs model have the same animation as my whole body for Female/male player?
How should i prepare my player models to allow clothes ( boots, armors ) or even hairs change during the game?
How do you do that guys?
MANY MANY thanks for any info!
Xynapse | http://szczerbiec.net/
I've seen this done several ways:
1) You build all the meshes that represent the parts of your model that might be worn/equipped, and then depending on the settings in the game (like "wearing shoulder armor" vs "not wearing shoulder armor") you change the render state of the submeshes: invisible if the item isn't worn, and visible otherwise. Then depending on which item in particular is worn, you change the texture of that item.
2) Mount points for various submeshes. Basically, you indicate a certain bone in the skeleton as the "weld" location for the additional piece you want to attach: for instance indicating the "right hand" bone as the parent of a weapon mesh. Then the skeletal animation that controls the parent will move the newly attached submesh.
I haven't tried it yet myself, but I would imagine you could define animation states for attached items that correlated with the main biped animations, so a long hairdo, attached to the head-bone, would have its own custom "swish" animation to be used when the head turned.
There may be procedural methods for all this as well, but I can only speak from my own experience.
1) You build all the meshes that represent the parts of your model that might be worn/equipped, and then depending on the settings in the game (like "wearing shoulder armor" vs "not wearing shoulder armor") you change the render state of the submeshes: invisible if the item isn't worn, and visible otherwise. Then depending on which item in particular is worn, you change the texture of that item.
2) Mount points for various submeshes. Basically, you indicate a certain bone in the skeleton as the "weld" location for the additional piece you want to attach: for instance indicating the "right hand" bone as the parent of a weapon mesh. Then the skeletal animation that controls the parent will move the newly attached submesh.
I haven't tried it yet myself, but I would imagine you could define animation states for attached items that correlated with the main biped animations, so a long hairdo, attached to the head-bone, would have its own custom "swish" animation to be used when the head turned.
There may be procedural methods for all this as well, but I can only speak from my own experience.
Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)
This may be a tad off topic, but it does have something to do with your problem. I am currently trying to resolve a similar issue conceptually for the game design I am working on. The feature I am having problems with relates more to character creation. I am wanting to impliment a customization system that allows deformation of the character meshes (something similar to The Elder Scrolls system of character customization). Has anyone come across this problem, and if so how did you impliment your system (or a similar system)?
@dirtysanchez:
you simply render the parts of your character separately. You use the same skeleton so you don't have to care about the animations but you do to skin them all.
for example, you start by rendering the feet, you get the model your player has chosen, eg leather boots and render it using the skeleton, then you render the model your player has chosen for the pants, then upper torso (jacket or T-shirt), hands (gloves or not), and head (hats can be rendered separately, but you'll have to take care you don't see the head mesh passing through them)
@ErikH81:
You're asking about morph targets, but instead of using the vertex position and interpolation between them for the final mesh you use the vector each vertex is pushed when, for example, it has the "nose size" parameter adjusted, which would allow you to set several adjustable parameters. The best way to do that would be to grab the face mesh, and for each parameter define the "min", "middle" and "max"
shapes for every parameter, and then make the exporter save the vector of translation for every vertice of the face affected by the parameter.
you simply render the parts of your character separately. You use the same skeleton so you don't have to care about the animations but you do to skin them all.
for example, you start by rendering the feet, you get the model your player has chosen, eg leather boots and render it using the skeleton, then you render the model your player has chosen for the pants, then upper torso (jacket or T-shirt), hands (gloves or not), and head (hats can be rendered separately, but you'll have to take care you don't see the head mesh passing through them)
@ErikH81:
You're asking about morph targets, but instead of using the vertex position and interpolation between them for the final mesh you use the vector each vertex is pushed when, for example, it has the "nose size" parameter adjusted, which would allow you to set several adjustable parameters. The best way to do that would be to grab the face mesh, and for each parameter define the "min", "middle" and "max"
shapes for every parameter, and then make the exporter save the vector of translation for every vertice of the face affected by the parameter.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement