Jak's tutorials have covered most of the character XML file contents, but not playing with the body part sizes, so here's a summary of what I've found out about them while working on the People Permutor.
Disclaimer: I may be wrong about some of this stuff. For starters, what "looks good" is pretty subjective. For seconds, I've not exhaustively researched this (doing a really thorough job of this would take a loooong time) and I do make mistakes.
For now, I've only included range values for body 1, which is where I've focused my attention so far (stop giggling at the back). I'll post my findings for the other bodies as and when I get that far (don't hold your breath - this stuff takes quite a bit of time). Most of these numbers (particularly the non-face stuff) should be good for body 2 as well.
In general, the values given here I what I think looks OK, and doesn't wreck any animation in a way I've noticed yet. Other people may have different opinions, particularly if they're fans of big-headed anime girls.
BodyOverall scale. Rule 1: leave X at 1.0 unless you want to totally wreck the animations. Beyond that, you can play with y/z a bit if you're feeling brave.
value | what it changes | sensible values for body1 |
x | up/down | 1.0 |
y | front/back | 0.9-1.1 |
z | side/side | 0.9-1.1 |
Headvalue | what | body1 |
x | up/down | 0.96-1.1 |
y | front/back | 0.95-1.05 |
z | side/side | 0.9-1.0 |
cheeksCheeks are a bit odd. I've never been entirely able to figure out what the XML values do, and how they inter-relate. I think that while the y/z values do change the size of the cheeks, they don't stretch the head; rather they re-arrange the rest of the head to make room; so, changing the z value seems to make the nose narrower/wider.
Also, compared to other body areas, making large changes to these values has a (relatively) subtle effect. As such, I'm probably less sure about these limits than about many of the others. I particular, the smaller value limits seem to be very fuzzy.
I
think things work best if you keep the x/y/z values relatively close to each other. So if you push x/y to high values, and z to lower values (or vice versa), it gets a bit wacky.
value | what | body1 |
x | front/back | 0.85-1.2 |
y | up/down? | 0.7-1.3 |
z | side/side? | 0.6-1.2 |
lipsI've found that, order to keep things sensible, you probably want to keep the upper/lower lips the same. Things seem to work best if the z value, and especially the x value, don't get too different from the others
Also, there appear to be some combinations near the limits that can end up being particularly wacky.
value | what | body1 |
x | front/back | 0.85-1.2 |
y | up/down | 1.0-1.1 |
z | side/side | 0.7-1.35 |
jawx-values here are really sensitive - adjustments that would be barely noticeable on other body parts result in a huge under/overbite. Watch it on z, too - low values can end up looking really crazy in any animation involving blowjobs.
value | what | body1 |
x | front/back | 0.985-1.015 |
y | up/down | 0.95-1.2 |
z | side/side | 0.9-1.08 |
boobsA nice easy one to play with, that mostly doesn't mess up the animations, though larger sizes can cause problems when the characters try to handle them.
For realism, you probably want to ensure that:
- the x/y/z values are all in the same ballpark, to avoid strange shapes
- that the x values are less than the y values, to avoid boobs that look like they have anti-gravity generators built in (probably a useful feature, but alas, not currently very realistic)
value | what | body1 |
x | front/back | 0.65-1.5 |
y | up/down | 0.65-1.5 |
z | side/side | 0.8-1.4 |
clavicle (shoulders)Ok, now this one is really crazy. The really major thing to watch out for here is that changes to the sizes here also affect the arms, sometimes in really non-intuitive ways. These effects can also change depending on the position of the arm.
If you do change these, you want to do two things:
- stay close to 1.0 unless you want really nutzoid arms
- compensate by tweaking the upperarm values in the opposite direction
value | what | compensate on | body1 |
x | front/back | upper arm z | 0.95-1.1 |
y | up/down | upper arm y | 0.95-1.05 |
z | side/side | upper arm x | 0.9-1.1 |
Compensating: if you set ClavicleZ to 1.1, you should set upperarmX to (1/1.1) or about 0.9
upper armsAgain, you want to stay really close to 1.0 here.
value | what | body1 |
x | up/down (length) | 0.95-1.05 |
y | front/back | 0.95-1.05 |
z | side/side | 0.95-1.05 |
forearmsStick close to 1.0 again.
value | what | body1 |
x | up/down (length) | 0.98-1.02 |
y | front/back | 0.98-1.02 |
z | side/side | 0.98-1.02 |
handsStick close to 1.0 if you want the handjob animations to work.
value | what | body1 |
x | up/down (length) | 0.95-1.05 |
y | front/back | 0.9-1.1 |
z | side/side | 0.95-1.05 |
buttThis is another funny one. While you can make pretty substantial changes and still end up with something that
looks OK, it's almost certainly going to mess up the animations. Tweaking X
at all is probably going to wreck anything involving her performing oral sex. Y is more subtle, but messes up at least the 69 animations; it may do bad things elsewhere, too.
Note that if you change Y or Z:
- you probably want to make similar changes to the thigh values, so they match
- you should compensate on the feet
value | what | body1 |
x | up/down | 1.0 |
y | front/back | 1.0 |
z | side/side | 0.95-1.1 |
thighsWork much like the arms; you probably want to set y/z to values similar to the butt y/z.
value | what | body1 |
x | up/down length | 0.95-1.05 |
y | front/back | 0.95-1.05 |
z | side/side | 0.95-1.1 |
calfAgain, much like the arms.
value | what | body1 |
x | up/down length | 0.95-1.05 |
y | front/back | 0.95-1.05 |
z | side/side | 0.95-1.1 |
feetIf you've tweaked Y/Z values on the butt, you should compensate here, unless you want freaky feet.
value | what | body1 |
x | up/down length | 1.0 |
y | front/back | 0.95-1.05 |
z | side/side | 0.95-1.05 |
symmetryJust a general note for those making girls based on this stuff: real people aren't symmetrical. Seriously. Take a full-frontal picture of a human face (any face will do). Cut it in half down the centreline, then mirror the two halves, and you end up with two surprisingly different faces.
Feel free to make your creations asymmetric too; you'll be surprised how much you can get away with before it starts to look "wrong".