private void FixedUpdate() { _sine = Sine(_jointFrequency, _jointAmplitude, _jointPhase); for (var i = 0; i < _joints.Count; i++) { _joints[i].targetRotation = Quaternion.Euler(_sine * new Vector3(5F, 0F, 0F)); } if (EyeScript.Goal) { TargetDirection = (EyeScript.Goal.transform.position - Root.transform.position).normalized; } if (TargetDirection != Vector3.zero) { _lookRotation = Quaternion.LookRotation(TargetDirection); } var absSine = Mathf.Abs(_sine); var posSine = Math.Max(_sine, 0); Root.transform.rotation = Quaternion.Slerp(Root.transform.rotation, _lookRotation, Time.deltaTime * (absSine * 3F)); if (posSine == 0) { _direction = Root.transform.forward; } Root.GetComponent <Rigidbody>() .AddForce(Mathf.Abs(_forceScalar) * _direction * posSine * ChromosomeComposition.GetBranchCount()); }
static string DeriveNameFromLimbs() { // read limb count int limbCount = ccComposition.GetBranchCount(); List <string> latinNumbers = new List <string>(); latinNumbers.Add("uni"); latinNumbers.Add("duo"); latinNumbers.Add("tri"); latinNumbers.Add("quart"); latinNumbers.Add("quint"); latinNumbers.Add("se"); latinNumbers.Add("sept"); latinNumbers.Add("oct"); string limbName = latinNumbers[limbCount - 1]; if (ccComposition.NumRecurrences.Length > 5 && ccComposition.NumRecurrences.Length < 9) { limbName += "aliq"; // some } else if (ccComposition.NumRecurrences.Length > 0 && ccComposition.NumRecurrences.Length <= 5) { limbName += "pauc"; // few } else if (ccComposition.NumRecurrences.Length >= 9) { limbName += "mult"; // many } limbName += "peri"; return(limbName); // return and capitalise }
private void Update() { GetInput_Windows(); ProcessInput(); if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 60)) { if (hit.collider.transform.root.GetComponent <Creature>()) { GameObject crt = hit.collider.transform.root.gameObject; Creature crtScript = crt.GetComponent <Creature>(); ChromosomeComposition csScript = crtScript.ChromosomeComposition; crtName.text = "Name: " + crt.name; crtType.text = "Type: " + crtScript.TypeOfCreature; crtState.text = "State: " + crtScript.State; crtAge.text = "Age: " + crtScript.Age; crtEnergy.text = "Energy: " + crtScript.Energy; crtGenetics.text = "Chromosome: " + "\n" + "\t Colour: " + csScript.GetColour() + "\n" + "\t Branches: " + csScript.GetBranchCount() + "\n" + "\t Limbs: " + csScript.NumRecurrences.Length; canvas.active = true; } else { canvas.active = false; } } else { canvas.active = false; } } }