protected override void Start() { Player = this; #region BirdModule GameObject leftWing = GameObject.CreatePrimitive(PrimitiveType.Cube); GameObject rightWing = GameObject.CreatePrimitive(PrimitiveType.Cube); GameObject body = GameObject.CreatePrimitive(PrimitiveType.Cube); body.transform.SetParent(transform); leftWing.transform.SetParent(transform); rightWing.transform.SetParent(transform); leftWing.transform.localScale = new Vector3(1, 0.1f, 0.73f); rightWing.transform.localScale = new Vector3(1, 0.1f, 0.73f); body.transform.localScale = new Vector3(0.08f, 0.19f, 0.14f); leftWing.transform.localPosition = new Vector3(-0.6f, 0); rightWing.transform.localPosition = new Vector3(0.6f, 0); body.transform.localPosition = Vector3.zero; #endregion BoxCollider boxCollider = gameObject.AddComponent <BoxCollider>(); boxCollider.size = new Vector3(2.19f, 0.16f, 0.75f); base.Start(); cam = GetComponentInChildren <Camera>(); soaring = !soaring; cam.transform.localPosition = soaring ? new Vector3(0, 0.6f, -1.6f) : new Vector3(0, 1, -2.5f); rb.useGravity = true; AIPrefab = Resources.Load <AIBird>("AIBirdPrefab"); tag = "Player"; rb.angularDrag = 100; }
void SpawnAI() { while (AI.Count < 30) { Vector3 direction = new Vector3(Random.value * 360 - 180, 0, Random.value * 360 - 180).normalized *(Random.value * 300); Vector3 position = transform.position + direction; position.y = AIBird.minAlt + AIBird.maxAlt * Random.value; AIBird aIBird = Instantiate(AIPrefab, position, Quaternion.identity); aIBird.name = "AI" + AI.Count; AI.Add(aIBird); } }