#7
3rd Jan 2021 at 8:39 AM
Posts: 526
Thanks: 1688 in 6 Posts
10 Achievements
Hah, remember this thread, @CmarNYC ? I definitely know a lot more about how TS4 works under the hood now than I did then.
Anyway, I fell down a rabbithole today and I've figured out a lot of things, with some help from MizoreYukii. I'd already done some very simple, EA-only testing a while ago with undertone and apparent light-dark values in CAS and determined that kids must match the undertone of one parent (warm, neutral, and cool are separate groups, NOT a spectrum with neutral in the middle, so warm/cool parents only have warm or cool kids), but today I got CC skintones involved and was able to test some additional stuff.
Display Index is the determinant for the light-dark range of skintones kids might get; swatch color doesn't seem to matter. I cloned a skintone, drew on its face so I could spot it reliably, gave it a Display Index value in between two EA skintones, then went into CAS and created parents with the two EA skintones on either side of it. Generally (exceptions explained below, and boy did they confuse me at the time) kids could have any of the three skintones -- one parent's, the other parent's, or the one in between. Change the swatch color drastically, the behavior doesn't change.
The EA skintones in the Misc bin don't seem to use Display Index for genetics even if it looks like they could (i.e. that little range of grey skintones) and instead just give kids either one parent's skintone or the other, except for aliens (which leads to interesting results with the EA alien skintones -- the way the Display Index values are set up, purple/green parents can have blue kids, but purple/blue can't have green and blue/green can't have purple). However, the EA Misc bin skintones are all unnatural colors that use Human_Fantasy, Human_Vampire, or other tunings besides standard Human. CC skintones in the Misc bin that do use standard Human tuning use Display Index in assigning skintones to kids, and the game in that case seems to treat Misc as just another bin like Warm/Neutral/Cool. I need to do more experimentation on that, though, my sample sizes have been small so far.
The biggest thing, though, is that thanks to MizoreYukii doing some digging and (among other things) finding a tuning (tagtuning/Client_GeneticFlags, or 03B33DDF!00000000!9D09B8BD902184C7.Client_GeneticTags.Tuning.xml) that explicitly lists things that are part of Sim genetics, and SkinHue being in it, I did some testing in a similar vein to what I proposed previously, and it looks like kids must also have a SkinHue that matches a parent.
The test worked like this: I made a set of skintones with Display Index 31-34 (so that no EA skintones would be part of the range) and the same undertone, and printed the numbers 1-4 on their foreheads for easy identification. I also gave skintone 1 the red SkinHue flag, 2 and 4 the olive SkinHue flag, and skintone 3 the blue SkinHue flag. I created parents with skintones 1 and 4 so that all 4 skintones would be valid results based on Display Index, and generated 100 kids. 53 had skintone 1, the exact skintone of one parent and the only option of the four that had the red SkinHue to match one parent. 7 had skintone 4, the exact skintone of the other parent, and NOT the only option with the olive SkinHue. 40 had skintone 2, the one with the same SkinHue as a parent without being exactly the same skintone (but also the lighter of the two options for olive, so I should probably test again to see if it's a bias toward non-parent skintones or toward lighter ones, but the impression I got from other, less methodical testing I was doing is that the game does prefer skintones that aren't an exact match for a parent when it's an option). ZERO had skintone 3, the one that didn't match either parent's SkinHue.
I also did a quick test where I reversed which parent had which of skintones 1 and 4 to see if which skintones were selected most changed at all, and one where I used 1 (red) and 3 (blue) for the parents to see if anyone got 2 (olive), and both of those smaller tests confirmed the findings from the first one, including no kids with non-matching SkinHues.
Oh, and we also found and looked at some tuning for babies and were able to confirm that the texture used on the baby object is determined by the skintone listed in the SimData for the Sim the baby object is going to grow up into, i.e. the skintone for the real Sim is already chosen before you ever see the baby object. (There are lists of which skintones go with each of the three "normal human" baby textures. Yeah, only three -- light, medium, and dark. I bet it gives all babies with CC skintones the same damn baby texture, too.)