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; }
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(); }
// 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; } }
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); }
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); }
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; }
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; }
public void AvatarSetup() { umaDynamicAvatar = umaData.gameObject.GetComponent <UMADynamicAvatar>(); if (cameraTrack) { cameraTrack.target = umaData.umaRoot.transform; } umaDna = umaData.GetDna <UMADnaHumanoid>(); umaTutorialDna = umaData.GetDna <UMADnaTutorial>(); ReceiveValues(); }
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]); }
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); }
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); }
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); }
// 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); }
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(); }
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(); }
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; }
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))); }
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(); }