automatically re-sizing armor on female characters with vertex animation ?

Users who are viewing this thread

HokieBT

Grandmaster Knight
when you equip some armor, like a robe, on a female character it automatically becomes more form-fitting.  However, I don't think this happens with all armor or some of the new armor that has been created for our mod.  I did some testing and determined this re-sizing was due to the skin_flag skf_use_morph_key_10 defined on the woman in module_skins.py.  It seems that the armor that re-sizes has the vertex animation checkbox in BRFEdit? 

So two questions:

a) does anybody know how to create armor that will re-size automatically on female characters ?
b) does anybody know what the other skf_use_morph_key_# flags do as defined in header_skins.py ?
 
Look at the slider under the armour in BRFedit.

In other words, you'll need more than one model, add them at the right time frames, and it should work.
 
SantasHelper new someone looking into this, we talked briefly on it, I should still have the PM...

But it would seem that each object has vertices moved at frame 10 I would guess.  I've done this kind of thing before when I used to do more 3D modeling animation work about a decade or so ago.

I don't think OBJ files hold any animation information, but I'm sure the SMD file formats do.  Thing is if you create/modify meshes for the body, this is probably lost.  I broke out my old software to make some props and stuff, so I can see if exporting an SMD has any animation stuff on it...  I'll try it and report back in a bit.
 
Like James said, BRFedit can just import each frame separately from a different OBJ. No need to mess with SMDs.
 
fisheye said:
Like James said, BRFedit can just import each frame separately from a different OBJ. No need to mess with SMDs.

Wow, didn't know that...  Thought that was a side scroll bar...

So I just slide it over and export that model as obj as well?  How do you import the second mesh (or alteration).  The vertex animation check box is greyed out.  I tried the SMD, and it was a no go...  There was no change when I loaded it up.
 
I haven't used that function for a long time, but I think you first add a frame, and then import the OBJ into the new frame.
 
ah, did it.

You have to select the mesh you will be adding the "female" look to it.

then import and select "replace Mesh" and append.

Thanks.
 
Well, if you wanted to, just move the vertices yourself to add a more feminine shape.  That's what I did, though I only looked to see that it worked in the BRFeditor.  I also added this info to an FAQ section on the tutorial update.
 
I tried moving the slider on the robe in BRFEdit and see what you guys are talking about, and the slimmer model is there.  damn, this is a very cool concept.  It sounds like not only could you do a slimmer female, but in my mod some of the aliens are bigger so you could assign a new race and one of the other morph's to do a bigger model.    So you could have a stormtrooper armor that when equipped would fit a male, female, jawa, wookiee, etc....

does morph_key_10 = frame 1, so I could import a bigger robe as frame 2 and give morph_key_20 to the wookiee ?  this is very neat, I just wish we could have a different material when equipped since that would allow for you to simulate different skin on characters.  :sad:

skf_use_morph_key_10 = 0x00000001
skf_use_morph_key_20 = 0x00000002
skf_use_morph_key_30 = 0x00000003
skf_use_morph_key_40 = 0x00000004
skf_use_morph_key_50 = 0x00000005
skf_use_morph_key_60 = 0x00000006
skf_use_morph_key_70 = 0x00000007
 
HokieBT said:
I tried moving the slider on the robe in BRFEdit and see what you guys are talking about, and the slimmer model is there.  damn, this is a very cool concept.  It sounds like not only could you do a slimmer female, but in my mod some of the aliens are bigger so you could assign a new race and one of the other morph's to do a bigger model.    So you could have a stormtrooper armor that when equipped would fit a male, female, jawa, wookiee, etc....

does morph_key_10 = frame 1, so I could import a bigger robe as frame 2 and give morph_key_20 to the wookiee ?  this is very neat, I just wish we could have a different material when equipped since that would allow for you to simulate different skin on characters.  :sad:

skf_use_morph_key_10 = 0x00000001
skf_use_morph_key_20 = 0x00000002
skf_use_morph_key_30 = 0x00000003
skf_use_morph_key_40 = 0x00000004
skf_use_morph_key_50 = 0x00000005
skf_use_morph_key_60 = 0x00000006
skf_use_morph_key_70 = 0x00000007

multi mesh would probably handle that.  Not sure if you can use the multi mesh across the vertex animation, but you can try it easy.  PM me if you want a hand with the idea.
 
Wow, I never even noticed that. Heh.

Anyways, my first idea with this is to make a few "overweight" models. not blatantly obese, just some guys with a bit of a spare tire. One for an Npc and some civilians. Although I guess it'd be just as simple to just make the separate armors for them.

Anyways, I have what I think is a stupid question. If you do this, does the extra frame you import have to be rigged as well? I'm 99.9% sure that the answer is yes, just wanted to be sure before I have unnecessary rigging done.
 
octoburn said:
Anyways, I have what I think is a stupid question. If you do this, does the extra frame you import have to be rigged as well? I'm 99.9% sure that the answer is yes, just wanted to be sure before I have unnecessary rigging done.

According to some documentation from Thogrim (sorry if I spelled the name wrong) in one of his threads I passed by, no.  It may assume it as a morph channel which means that (since the vertices should be the same) it still uses the vertex ids of the initial model for the vertex weights to the bone structure.  Right now, I'm heavy in my mod, which doesn't allow for female players (ya, sexist aren't I), but if you want to try it out, take one of your armor models, and export it as OBJ.  Move some of the vertices in the belly area out a bit (make it noticable).  Then merge and append it back into your orginial model.  Then start the game as a female and see if you see the change.  (go to any scene).

Do post pictures, I'd like to see it. :wink:
 
ahh,
SantasHelper said:
The is an issue with append. it doesn't work as expected.

*The first time you use append it doesn't increase the time counter
you need=> base frame (t=0) frame 1(t=10) frame 2(t=20)
you get=> base frame (t=0) frame 1(t=0) frame 2(t=10)

one way arround that is to clone & rename ANY model
then you proceed to select specific frame in the model and use "replace selected frame"
thanks, I was trying to create some vertex animated gloves earlier and had this exact same problem with append not working.
 
I've played around a good bit with module_skins.py for the next release of my mod (in a few days).  The scale does partially work and changes the hitbox from what I can see.  But you can't go too high or too low without the game crashing.  So R2D2 and Jawa are a scale of 0.8 and a Wookiee is a 1.2, etc.    The code before the hair id is the body hue, so in my mod the twilek's are different colors so I have a black & white texture for the body, and as you change face codes I switch the body hue to blue, red, green, etc.  The keys after the hair do have to do with hair coloring, so you can limit the hair color on each face texture if you want.  The face model is vertex animation from what I understand so in the face code you can define how much the sliders will move it.  There is some neat stuff in module_skins.py since I also added custom sound effects for each alien race and you can also change the blood particles.  Unfortunately there are two game limitations that are pissing me off...  1) a maximum limit of 16 races and (2) when you change the blood color it still uses the red vertex coloring to color the models.  :sad:
 
well, first the pictures of the scantily clad twilek ladies.  :wink:

 
 
all the pictures above are a single black & white textured body, with 4 different face colors, each which have a different body hue.  So as you switch the face texture the body hue changes and colors the body and the outfit.  Unfortunately, I'm not sure I'll be able to provide feedback on many of your other questions.  I haven't tried animating faces at all so I don't really know how the sliders are used.  I believe you can only have a single head model and it must be split down the middle and then in-game the model and uv-mapping is automatically mirrored so the other side of your face textured is used.  I haven't hit any limits with hair/beads/face/etc but I haven't added a lot so there may be some.  Even if you don't have a hair or beard model listed I believe I had to have a hair texture listed or the game would crash.  I haven't done much with the scale but I think it may only scale the hitbox and not the skeleton  itself and you can't switch it depending on the face texture, its set per race.  The sounds are one of the great things and now when I kill jawa's or tusken raiders it sounds so much better.  :wink:    I'm just really really disappointed in the limit of 16 total races, since I was planning on having many many more playable races in my star wars mod...
 
Cool stuff you guys are working on here! :grin:

Using this I've been able to create some new face keys for a custom race I've created. It looks like in the face key definitions the first number is referencing the time counter and the third and fourth reference the amount of the face morph in relation to sliding the bar to the far left and far right respectively in the face editor.

for example on the default man_face_keys:

(20,0, 0.7,-0.6, "Chin Size"),

20 - time counter for the chin size morph
0 - not sure what this does (maybe the starting point?)
0.7 - chin size morph at 70%
-0.6 - chin size morph at -60%

For my custom morphs I just opened my original head mesh in my modeling program and pulled the verts around until I got the shape I wanted for a particular area (i.e. a smaller nose) and saved the whole thing out again as an obj. I then imported it as a new frame into BRFEdit as per your above instructions.

Apparently you also have to import the original model again at the end of all the frames for some processing the system does or odd things happen. (280,0,0.0,1.0, "Post-Edit"), on the man face keys looks to be the same as the original model.


Now for a problem I'm having.
My new face keys show up in the face editor ok and work when I move the sliders, but they are causing some of the other morphs to take effect. As an example when I move the nose size slider the nose gets bigger but so do the eyes. I think this might be related to the above mentioned problem with the frame/time code being out of sync when you append new meshes. I tried to start with a clone of the default head but when I try to replace any of the frames BRFEdit errors out and closes. Any ideas?
 
yeah, the head model is only one side of the face, and then the game does something like makes a mirror image of the mesh and the uv-mapping, and then uses the opposite side of the texture for the uv-mapping of the mirror image....  This was a pain because we had to split and re-do the uv-mapping and textures on all our aliens in the star wars mod.    You can define multiple beard and hair meshes, I'm not sure why they are spread out over multiple BRF files tho, I don't think that is required.
 
How do I add different sized races to the game and, along with that, the in-game options that let you select your character's race?

And would I have to make new models for all the clothes to fit these new races?

Any help would be appreciated!
 
Well... my experiments with the morphing were... inconclusive.

I took the mesh and edited it a bit, no I didn't add or delete anything- not a vert, face or edge- then exported it from wings. Imported to brf, added the new frames, same # and time as the native ones (the first frame in these has a time of 0, so the time not being editable on the first from isn't a problem.)

When I choose the female race and use the armor, it appears in game (which leads me to believe that it doesn't need to be rerigged) but it looks like hell. Verts all over the place.

So... I'm thinking the verts and such got screwed in all the importing/exporting. When I get both the normal body mesh and the edited one in wings, the verts I've tried have the same ID #s. But when I import one of them into brfedit and then export, the verts have different IDs.... maybe exporting the smd file as an obj is renaming the vert IDs?

So I did another bit of investigation... I opened both the base mesh and edited one as text files. Same number of verts, same number of faces. But, one has more normals and texture points. WTF? How can it have more nrmals when it has the same number of faces and verts?

Anyways, I don't know if it's brfedit or wings, but something's screwing up some stuff when importing/exporting.
 
Back
Top Bottom