Exemplo n.º 1
0
    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);
    }