public void BakeMorph()
        {
            if (dna == null)
            {
                dna = data.GetDna(dnaTypeHash);
            }

            if (dna != null && dnaEntryIndex >= 0)
            {
                if (data.blendShapeSettings.bakeBlendShapes == null)
                {
                    data.blendShapeSettings.bakeBlendShapes = new Dictionary <string, float>();
                }

                float dnaValue    = dna.GetValue(dnaEntryIndex);
                float morphWeight = 0.0f;
                if (dnaValue > 0.51f)
                {
                    morphWeight = (dnaValue - 0.5f) * 2f;
                }

                if (!data.blendShapeSettings.bakeBlendShapes.ContainsKey(dnaName))
                {
                    data.blendShapeSettings.bakeBlendShapes.Add(dnaName, morphWeight);
                }

                data.Dirty(true, true, true);
            }
        }
Beispiel #2
0
        public void OnCharacterCreated(UMAData umaData)
        {
            this.data = umaData;
            Slider slider = gameObject.GetComponent <Slider>();

            dna = umaData.GetDna(dnaTypeHash);
            if (dna != null)
            {
                slider.value = dna.GetValue(dnaEntryIndex);
            }
        }
Beispiel #3
0
        public void BakeEarMorph()
        {
            if (dna == null)
            {
                dna = data.GetDna(dnaTypeHash);
            }

            if (dna != null)
            {
                data.blendShapeSettings.bakeBlendShapes = new Dictionary <string, float>();
                float dnaValue    = dna.GetValue(dnaEntryIndex);
                float morphWeight = 0.0f;
                if (dnaValue > 0.51f)
                {
                    morphWeight = (dnaValue - 0.5f) * 2f;
                }
                data.blendShapeSettings.bakeBlendShapes.Add("MaleElvenEars", morphWeight);
                data.Dirty(true, true, true);
            }
        }
        public void OnCharacterCreated(UMAData umaData)
        {
            this.data = umaData;
            Slider slider = gameObject.GetComponent <Slider>();

            dna = umaData.GetDna(dnaTypeHash);
            if (dna != null)
            {
                string[] dnaNames = dna.Names;
                for (int i = 0; i < dnaNames.Length; i++)
                {
                    if (dnaName == dnaNames[i])
                    {
                        dnaEntryIndex = i;
                        break;
                    }
                }

                if (dnaEntryIndex >= 0)
                {
                    slider.value = dna.GetValue(dnaEntryIndex);
                }
            }
        }
Beispiel #5
0
 /// <summary>
 /// Gets the current DNA value.
 /// </summary>
 public float Get()
 {
     return(Owner.GetValue(OwnerIndex));
 }