Esempio n. 1
0
    void GeneratUMA()
    {
        //Add UMA Components to GameObject GO
        GameObject GO = new GameObject("MyUMA");

        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar> ();

        //Initialise avatar and grab a reference to it's data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        //Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        //Setup slot array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        //Setup Morph References
        umaDna         = new UMADnaHumanoid();
        umaTutorialDna = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDna);

        //Make UMA
        CreateMale();
        umaDynamicAvatar.animationController = animController;
        umaDynamicAvatar.UpdateNewRace();

        GO.transform.parent        = this.gameObject.transform;
        GO.transform.localPosition = Vector3.zero;
        GO.transform.localRotation = Quaternion.identity;
    }
Esempio n. 2
0
    void GenerateUMA()
    {
        // Create a new game object and add UMA components to it
        GameObject GO = new GameObject("MyUMA");

        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar>();

        // Initialise Avatar and grab a reference to it's data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        // Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        // Set up slot Array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        // Set up our Morph reference
        umaDna         = new UMADnaHumanoid();
        umaTutorialDNA = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);

        // Grab a reference to our recipe
        // var umaRecipe = umaDynamicAvatar.umaData.umaRecipe; //moved to subroutine MakeMale

        // >>> This is whee the fun will happen according to Secret Anorak <<<<
        CreateMale();

        // Generate Our UMA
        umaDynamicAvatar.UpdateNewRace();
    }
Esempio n. 3
0
        // Set the camera target and viewport
        private void SetCamera(bool show)
        {
            if (show)
            {
                DnaPanel.SetActive(true);
                DnaHide.gameObject.SetActive(true);
#if UNITY_5 && !UNITY_5_1 && !UNITY_5_0
                // really Unity? Yes we change the value and set it back to trigger a ui recalculation...
                // because setting the damn game object active doesn't do that!
                var rt  = DnaPanel.GetComponent <RectTransform>();
                var pos = rt.offsetMin;
                rt.offsetMin = new Vector2(pos.x + 1, pos.y);
                rt.offsetMin = pos;
#endif
            }
            else
            {
                if (cameraTrack != null)
                {
                    cameraTrack.target = baseTarget;
                }
                if (orbitor != null)
                {
                    orbitor.target = baseTarget;
                }
                DnaPanel.SetActive(false);
                DnaHide.gameObject.SetActive(false);
                umaData        = null;
                umaDna         = null;
                umaTutorialDna = null;
            }
        }
Esempio n. 4
0
    void GenerateUMA()
    {
        GameObject myUMA = new GameObject("MyUMA");

        avatar = myUMA.AddComponent <UMADynamicAvatar>();

        avatar.Initialize();
        umaData                        = avatar.umaData;
        avatar.umaGenerator            = generator;
        umaData.umaGenerator           = generator;
        umaData.umaRecipe              = new UMAData.UMARecipe();
        umaData.umaRecipe.slotDataList = new SlotData[NUM_SLOTS];

        umaDna         = new UMADnaHumanoid();
        umaTutorialDna = new UMADnaTutorial();

        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDna);



        CreateMale();

        avatar.animationController = animController;

        avatar.UpdateNewRace();

        myUMA.transform.parent        = this.gameObject.transform;
        myUMA.transform.localPosition = Vector3.zero;
        myUMA.transform.localRotation = Quaternion.identity;
    }
        public static string SaveInstance(UMADnaTutorial instance)
        {
#if !StripLitJson
            return(LitJson.JsonMapper.ToJson(UMADnaTutorial_Byte.FromDna(instance)));
#else
            return(null);
#endif
        }
		public static string SaveInstance(UMADnaTutorial instance)
		{
#if !StripLitJson
			return LitJson.JsonMapper.ToJson(UMADnaTutorial_Byte.FromDna(instance));
#else
			return null;
#endif
		}
        public UMADnaTutorial ToDna()
        {
            var res = new UMADnaTutorial();

            res.eyeSpacing = eyeSpacing * (1f / 255f);

            return(res);
        }
Esempio n. 8
0
 public void Initialize(UMADiAvatar.Factory avatarGOFactory,
                        UMADnaHumanoid dna, UMADnaTutorial tutorial)
 {
     this.avatarGOFactory = avatarGOFactory;
     this.umaDna          = dna;
     this.umaTutorialDna  = tutorial;
     GenerateUMA();
 }
        public static UMADnaTutorial_Byte FromDna(UMADnaTutorial dna)
        {
            var res = new UMADnaTutorial_Byte();

            res.eyeSpacing = (System.Byte)(dna.eyeSpacing * 255f + 0.5f);

            return(res);
        }
Esempio n. 10
0
    void GenerateUMA()
    {
        // Create a new game object and add UMA components to it
        GameObject GO = new GameObject("MyUMA");

        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar>();

        // Initialise Avatar and grab a reference to it's data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        //practical guide to uma part 15 uma events https://youtu.be/_k-SZRCvgIk?t=8m20s
        umaData.OnCharacterCreated += CharacterCreatedCallback;

        // Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        // Set up slot Array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        // Set up our Morph reference
        umaDna         = new UMADnaHumanoid();
        umaTutorialDNA = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);

        // Grab a reference to our recipe
        // var umaRecipe = umaDynamicAvatar.umaData.umaRecipe; //moved to subroutine MakeMale

        // >>> This is whee the fun will happen according to Secret Anorak <<<<
        CreateMale();

        // dynamic animation controller
        umaDynamicAvatar.animationController = animController;

        // Generate Our UMA
        umaDynamicAvatar.UpdateNewRace();

        // parent the new uma into the host game object
        GO.transform.parent        = this.gameObject.transform;
        GO.transform.localPosition = Vector3.zero;
        GO.transform.localRotation = Quaternion.identity;
        // GO.AddComponent(typeof(Animator));
        GO.AddComponent(typeof(UnityEngine.AI.NavMeshAgent));
        GO.AddComponent(typeof(Rigidbody));
        GO.AddComponent(typeof(CapsuleCollider));
        var goCol = GO.GetComponent <CapsuleCollider>();

        goCol.center = new Vector3(0f, 0.78f, 0f);
        goCol.height = 1.7f;
        goCol.radius = 0.2f;
    }
Esempio n. 11
0
    void GenerateUMA()
    {
        //UMA naming
        // Check a list of UMA objects.

        int umaCount = GameObject.FindGameObjectsWithTag("UMA").Length;

        UMAName = "UMA_" + umaCount.ToString();


        // Create a new game object and add UMA components to it
        GameObject GO = new GameObject("myUMA");

        GO.tag           = "UMA";
        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar>();

        // Initialise Avatar and grab a reference to it's data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        //practical guide to uma part 15 uma events https://youtu.be/_k-SZRCvgIk?t=8m20s
        umaData.OnCharacterCreated += CharacterCreatedCallback;

        // Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        // Set up slot Array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        // Set up our Morph reference
        umaDna         = new UMADnaHumanoid();
        umaTutorialDNA = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);

        // Grab a reference to our recipe
        // var umaRecipe = umaDynamicAvatar.umaData.umaRecipe; //moved to subroutine MakeMale

        // >>> This is whee the fun will happen according to Secret Anorak <<<<
        CreateMale();

        // dynamic animation controller
        umaDynamicAvatar.animationController = animController;

        // Generate Our UMA
        umaDynamicAvatar.UpdateNewRace();

        // parent the new uma into the host game object
        GO.transform.parent        = this.gameObject.transform;
        GO.transform.localPosition = Vector3.zero;
        GO.transform.localRotation = Quaternion.identity;
    }
Esempio n. 12
0
    public void AvatarSetup()
    {
        umaDynamicAvatar = umaData.gameObject.GetComponent <UMADynamicAvatar>();

        if (cameraTrack)
        {
            cameraTrack.target = umaData.umaRoot.transform;
        }

        umaDna         = umaData.GetDna <UMADnaHumanoid>();
        umaTutorialDna = umaData.GetDna <UMADnaTutorial>();
        ReceiveValues();
    }
Esempio n. 13
0
        public static string[] GetNames(System.Type dnaType)
        {
            if (dnaType == typeof(UMADnaHumanoid))
            {
                return(UMADnaHumanoid.GetNames());
            }
            if (dnaType == typeof(UMADnaTutorial))
            {
                return(UMADnaTutorial.GetNames());
            }

            return(new string[0]);
        }
Esempio n. 14
0
        public static System.String SaveInstance(UMADnaBase instance)
        {
            System.Type dnaType = instance.GetType();
            if (dnaType == typeof(UMADnaHumanoid))
            {
                return(UMADnaHumanoid.SaveInstance(instance as UMADnaHumanoid));
            }
            if (dnaType == typeof(UMADnaTutorial))
            {
                return(UMADnaTutorial.SaveInstance(instance as UMADnaTutorial));
            }

            return(null);
        }
Esempio n. 15
0
    void Initialize()
    {
        UMAInstance();

        gameObject = new GameObject(objectName);
        UpdateVec();

        umaContext = UMAContext.FindInstance();
        UMAGenerator generator = umaContext.umaGenerator;

        umaDynamicAvatar = gameObject.AddComponent <UMADynamicAvatar>();
        umaDynamicAvatar.Initialize();

        UMAData umaData = umaDynamicAvatar.umaData;

        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        UMATextRecipe recipe = UMATextRecipe.CreateInstance <UMATextRecipe>();

        recipe.Load(umaData.umaRecipe, umaContext);
        umaDynamicAvatar.umaRecipe = recipe;
        umaData.AddAdditionalRecipes(new UMARecipeBase[] { umaContext.umaTextRecipe }, umaContext);
        umaData.OnCharacterCreated   += CharacterCreated;
        umaData.OnCharacterUpdated   += CharacterUpdated;
        umaData.OnCharacterDestroyed += CharacterDestroyed;

        if (isExpress)
        {
            expressionPlayer = gameObject.AddComponent <UMAExpressionPlayer>();
            expressionPlayer.overrideMecanimEyes = true;
            expressionPlayer.overrideMecanimHead = true;
            expressionPlayer.overrideMecanimJaw  = true;
            expressionPlayer.overrideMecanimNeck = true;
        }

        umaData.umaRecipe.slotDataList = new SlotData[100];
        UMADnaHumanoid umaDna         = new UMADnaHumanoid();
        UMADnaTutorial umaTutorialDNA = new UMADnaTutorial();

        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);

        ICharacterSlotOverly characterSlotOverlay = new CharacterSlotOverly(umaDynamicAvatar);

        characterAnim = new CharacterAnim(umaDynamicAvatar);
        //characterDna = new CharacterDna(umaDna, umaData, characterAnim, characterData);
        characterBase  = new CharacterBase(resType, characterSlotOverlay, umaData, umaDynamicAvatar, characterData);
        characterCloth = new CharacterCloth(resType, characterData, characterSlotOverlay, this, characterBase);
    }
Esempio n. 16
0
        public static UMADna LoadInstance(System.Type dnaType, System.String data)
        {
            if (dnaType == typeof(UMADnaHumanoid))
            {
                return(UMADnaHumanoid.LoadInstance(data));
            }

            if (dnaType == typeof(UMADnaTutorial))
            {
                return(UMADnaTutorial.LoadInstance(data));
            }


            return(null);
        }
Esempio n. 17
0
        // An avatar has been selected, setup the camera, sliders, retarget the camera, and adjust the viewport
        // to account for the DNA slider scroll panel
        public void AvatarSetup()
        {
            umaDynamicAvatar = umaData.gameObject.GetComponent <UMADynamicAvatar>();

            if (cameraTrack)
            {
                cameraTrack.target = umaData.umaRoot.transform;
            }
            if (orbitor)
            {
                orbitor.target = umaData.umaRoot.transform;
            }

            umaDna         = umaData.GetDna <UMADnaHumanoid>();
            umaTutorialDna = umaData.GetDna <UMADnaTutorial>();

            SetSliders();
            SetCamera(true);
        }
Esempio n. 18
0
    void GenerateUMA()
    {
        // Create a new game object and add UMA components to it
        GameObject GO = new GameObject("MyUMA");



        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar>();

        // Initialise Avatar and grab a reference to it's data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        //practical guide to uma part 15 uma events https://youtu.be/_k-SZRCvgIk?t=8m20s
        umaData.OnCharacterCreated += CharacterCreatedCallback;

        // Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        // Set up slot Array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        // Set up our Morph reference
        umaDna         = new UMADnaHumanoid();
        umaTutorialDNA = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);

        // Grab a reference to our recipe
        // var umaRecipe = umaDynamicAvatar.umaData.umaRecipe; //moved to subroutine MakeMale

        // >>> This is where the fun will happen according to Secret Anorak <<<<
        CreateMale();

        // dynamic animation controller
        umaDynamicAvatar.animationController = animController;

        // Generate Our UMA
        umaDynamicAvatar.UpdateNewRace();
    }
Esempio n. 19
0
    void InitializeUma()
    {
        GameObject go = transform.FindChild("AvatarContainer").gameObject;

        avatar = go.AddComponent <UMADynamicAvatar> ();
        avatar.Initialize();
        avatar.umaGenerator        = generator;
        avatar.animationController = animController;
        // TODO make this a server command UMAGeneratorBase.OnUmaAnimatorCreated += heroAnimator.OnUmaAnimatorCreated;
        avatar.umaData.OnCharacterCreated += OnCharacterCreated;

        dna         = new UMADnaHumanoid();
        tutorialDna = new UMADnaTutorial();

        data = avatar.umaData;
        data.umaGenerator           = generator;
        data.umaRecipe.slotDataList = new SlotData[numSlots];
        data.umaRecipe.AddDna(dna);
        data.umaRecipe.AddDna(tutorialDna);
        ApplyHumanMaleRecipe();

        avatar.UpdateNewRace();
    }
Esempio n. 20
0
        protected override PlayerModel LoadModel(Player player)
        {
            GameObject uma           = new GameObject();
            var        dynamicAvatar = uma.AddComponent <UMADynamicAvatar>();

            dynamicAvatar.Initialize();

            var umaData = dynamicAvatar.umaData;

            umaData.umaGenerator = Generator;

            umaData.umaRecipe.slotDataList = new SlotData[NumberOfSlots];

            var dna         = new UMADnaHumanoid();
            var tutorialDna = new UMADnaTutorial();

            umaData.umaRecipe.AddDna(dna);
            umaData.umaRecipe.AddDna(tutorialDna);

            CreateMale(umaData);

            dynamicAvatar.UpdateNewRace();
            var coll = uma.AddComponent <CapsuleCollider>();

            coll.height = umaData.characterHeight;
            coll.radius = umaData.characterRadius;
            coll.center = new Vector3(0, 0.8f, 0);
            var rigid = uma.AddComponent <Rigidbody>();

            rigid.freezeRotation = true;

            rigid.mass = umaData.characterMass;
            UMAModel model = player.gameObject.AddComponent <UMAModel>();

            model.InternalModel = uma;
            return(model);
        }
 public static string SaveInstance(UMADnaTutorial instance)
 {
     return LitJson.JsonMapper.ToJson(UMADnaTutorial_Byte.FromDna(instance));
 }
        public UMADnaTutorial ToDna()
        {
            var res = new UMADnaTutorial();
            res.eyeSpacing = eyeSpacing * (1f / 255f);

            return res;
        }
        public static UMADnaTutorial_Byte FromDna(UMADnaTutorial dna)
        {
            var res = new UMADnaTutorial_Byte();
            res.eyeSpacing = (System.Byte)(dna.eyeSpacing * 255f+0.5f);

            return res;
        }
Esempio n. 24
0
    GameObject GenerateUMA(string name)
    {
        // Create a new game object and add UMA components to it

        GameObject GO = new GameObject(name);

        GO.transform.position = this.transform.position;
        //parentAtPosition(GO);


        umaDynamicAvatar = GO.AddComponent <UMADynamicAvatar>();
        umaDynamicAvatar.animationController = animationController;
        GO.AddComponent <RagdollCreatorTest>();
        if (name.Contains("Zombie"))
        {
            ZombieBehavior zbh = GO.AddComponent <ZombieBehavior> ();
            zbh.speedMultiplier = Random.Range(0.5f, 2.5f);
            GO.tag = "Zombie";
            GameObject[] zombies = GameObject.FindGameObjectsWithTag("Zombie");
            GO.name = "Zombie" + zombies.Length;
        }
        else
        {
            HumanBehavior hb = GO.AddComponent <HumanBehavior> ();
            GO.tag = "Human";
            //  GameObject[] humans = GameObject.FindGameObjectsWithTag("Human");
            //GO.name = "Human" + humans.Length;
        }

        GO.AddComponent <UnityEngine.AI.NavMeshAgent> ();
        GO.AddComponent <HealthComponent> ();

        // Initialize Avatar and grab a reference to its data component
        umaDynamicAvatar.Initialize();
        umaData = umaDynamicAvatar.umaData;

        // Attach our generator
        umaDynamicAvatar.umaGenerator = generator;
        umaData.umaGenerator          = generator;

        // Set up slot Array
        umaData.umaRecipe.slotDataList = new SlotData[numberOfSlots];

        // Set up our Morph references
        umaDna         = new UMADnaHumanoid();
        umaTutorialDNA = new UMADnaTutorial();
        umaData.umaRecipe.AddDna(umaDna);
        umaData.umaRecipe.AddDna(umaTutorialDNA);


        if (name.Contains("Female"))
        {
            CreateFemale();
        }
        else
        {
            CreateMale();
        }

        // Generate our UMA
        setupDna(umaDna);
        umaDynamicAvatar.UpdateNewRace();

        if (name.Contains("Human"))
        {
            if (name.Contains("Female"))
            {
                GO.name = createName("Female");
            }
            else
            {
                GO.name = createName("Male");
            }
        }

        return(GO);
    }
 public static string SaveInstance(UMADnaTutorial instance)
 {
     return(UnityEngine.JsonUtility.ToJson(UMADnaTutorial_Byte.FromDna(instance)));
 }
Esempio n. 26
0
    public void IniatializeSlider(UMAData umadata)
    {
        if (umadata != null)
        {
            umaData        = umadata;
            umaDna         = umaData.GetDna <UMADnaHumanoid>();
            umaTutorialDna = umaData.GetDna <UMADnaTutorial>();
        }

        Removelistener();

        HeightSlider.value      = umaDna.height;
        UpperMuscleSlider.value = umaDna.upperMuscle;
        UpperWeightSlider.value = umaDna.upperWeight;
        LowerMuscleSlider.value = umaDna.lowerMuscle;
        LowerWeightSlider.value = umaDna.lowerWeight;
        //ArmLengthSlider.value = umaDna.armLength;
        // ForearmLengthSlider.value = umaDna.forearmLength;
        LegSeparationSlider.value = umaDna.legSeparation;
        //HandSizeSlider.value = umaDna.handsSize;
        FeetSizeSlider.value     = umaDna.feetSize;
        LegSizeSlider.value      = umaDna.legsSize;
        ArmWidthSlider.value     = umaDna.armWidth;
        ForearmWidthSlider.value = umaDna.forearmWidth;
        BreastSlider.value       = umaDna.breastSize;
        BellySlider.value        = umaDna.belly;
        WaistSizeSlider.value    = umaDna.waist;
        GlueteusSizeSlider.value = umaDna.gluteusSize;
        HeadSizeSlider.value     = umaDna.headSize;
        //HeadWidthSlider.value = umaDna.headWidth;
        NeckThickSlider.value       = umaDna.neckThickness;
        EarSizeSlider.value         = umaDna.earsSize;
        EarPositionSlider.value     = umaDna.earsPosition;
        EarRotationSlider.value     = umaDna.earsRotation;
        NoseSizeSlider.value        = umaDna.noseSize;
        NoseCurveSlider.value       = umaDna.noseCurve;
        NoseWidthSlider.value       = umaDna.noseWidth;
        NoseInclinationSlider.value = umaDna.noseInclination;
        NosePositionSlider.value    = umaDna.nosePosition;
        NosePronuncedSlider.value   = umaDna.nosePronounced;
        NoseFlattenSlider.value     = umaDna.noseFlatten;
        //ChinSizeSlider.value = umaDna.chinSize;
        ChinPronouncedSlider.value = umaDna.chinPronounced;
        ChinPositionSlider.value   = umaDna.chinPosition;
        //MandibleSizeSlider.value = umaDna.mandibleSize;
        JawSizeSlider.value          = umaDna.jawsSize;
        JawPositionSlider.value      = umaDna.jawsPosition;
        CheekSizeSlider.value        = umaDna.cheekSize;
        CheekPositionSlider.value    = umaDna.cheekPosition;
        lowCheekPronSlider.value     = umaDna.lowCheekPronounced;
        ForeHeadSizeSlider.value     = umaDna.foreheadSize;
        ForeHeadPositionSlider.value = umaDna.foreheadPosition;
        LipSizeSlider.value          = umaDna.lipsSize;
        MouthSlider.value            = umaDna.mouthSize;
        EyeSizeSlider.value          = umaDna.eyeSize;
        EyeRotationSlider.value      = umaDna.eyeRotation;
        EyeSpacingSlider.value       = umaTutorialDna.eyeSpacing;
        LowCheekPosSlider.value      = umaDna.lowCheekPosition;

        Addlistener();
    }