public void RandomiseFaceData(GrandData final) { final.Info.C_Hair = HairGrad.Evaluate(Random.value); //RandomHair(); final.Info.C_Skin = SkinGrad.Evaluate(Random.value); //RandomSkin(); final.Info.C_Eye = RandomEye(); RandomiseOffsetColours(final); final.Info.Base = Base.Randomise(final.Info.Gender, Simple2x2.zero, Simple2x2.zero, Simple2x2.zero); final.Info.Eye = Eye.Randomise(final.Info.Gender, new Simple2x2(0.0F, -0.5F, 0.0F, 0.9F), Simple2x2.zero, new Simple2x2(-0.2F, -0.2F, 0.1F, 0.1F)); // new Vector3(0,0.05F), 0.0F, new Vector3(0.1F, 0.1F)); final.Info.Ear = Ear.Randomise(final.Info.Gender, new Simple2x2(0.0F, -1.5F, 0.0F, 1.5F), new Simple2x2(-4.0F, 0.0F, 4.0F, 0.0F), new Simple2x2(-0.3F, -0.3F, 0.05F, 0.25F)); //new Vector3(0,0.3F), 4.0F, new Vector3(0.3F, 0.3F)); final.Info.Brow = Brow.Randomise(final.Info.Gender, new Simple2x2(0.0F, -0.1F, 0.0F, 0.15F), new Simple2x2(-5.0F, 0.0F, 7.0F, 0.0F), new Simple2x2(-0.2F, -0.15F, 0.35F, 0.35F)); //new Vector3(0,0.1F), 6.0F, new Vector3(0.3F, 0.2F)); final.Info.Hair = Hair.Randomise(final.Info.Gender, Simple2x2.zero, Simple2x2.zero, new Simple2x2(0.0F, -0.1F, 0.0F, 0.1F)); //Vector3.zero, 0.0F, new Vector3(0.0F, 0.1F)); final.Info.Jaw = Jaw.Randomise(final.Info.Gender, Simple2x2.zero, Simple2x2.zero, new Simple2x2(-0.15F, -0.15F, 0.13F, 0.2F)); //Vector3.zero, 0.0F, new Vector3(0.35F, 0.25F)); final.Info.Nose = Nose.Randomise(final.Info.Gender, new Simple2x2(0.0F, -0.7F, 0.0F, 0.7F), Simple2x2.zero, new Simple2x2(-0.2F, -0.15F, 0.2F, 0.35F)); //new Vector3(0,0.1F), 0.0F, new Vector3(0.1F, 0.3F)); final.Info.Glasses = Random.value > (float)final.Age.Current / 100 ? null : Glasses.Randomise(true, Simple2x2.zero, Simple2x2.zero, new Simple2x2(0.0F, 0.0F, 0.34F, 0.35F)); if (final.Info.Glasses != null) { final.Info.Glasses._Scale += (final.Info.Eye._Scale - Vector3.one); final.Info.Glasses._Position = final.Info.Eye._Position; } SetPupilInfo(final); }