public void singleSpawn(int a) { int prefabNum = UnityEngine.Random.Range(0, peoplePrefabs.Length); var people = gameObject; if (peoplePrefabs[prefabNum] == null) { Debug.Log("peoplePrefabs[prefabNum]"); } if (points[0, a] == null) { Debug.Log("points[0, a]"); } people = (GameObject)Instantiate(peoplePrefabs[prefabNum], points[0, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity); changeLayerTarget(people.transform); people.gameObject.transform.Rotate(new Vector3(0, -90, 0)); var _movePath = people.AddComponent <MovePath4>(); people.transform.parent = par.transform; _movePath.walkPath = gameObject; string animName; /*if (isWalk) * animName = "walk"; * else * animName = "run";*/ bool forward_ = false; bool gender = NPCAttributeController.GenerateGender(); _movePath.MyStart(0, a, /*animName*/ "listen", loopPath, forward_, gender); }
public void SpawnPeople() { if (par == null) { par = new GameObject(); par.transform.parent = gameObject.transform; par.name = "people"; } int s; s = pointLength[0] - 2; for (int b = 0; b < numberOfWays; b++) { for (int a = 1; a <= s; a++) { if (a != 58 && a != 35 && a != 34 && a != 32 && a != 33 && a != 26 && a != 27 && a != 62) { bool forward_ = false; if (direction.ToString() == "Forward") { forward_ = true; } else if (direction.ToString() == "Backward") { forward_ = false; } else if (direction.ToString() == "HugLeft") { if ((b + 2) % 2 == 0) { forward_ = true; } else { forward_ = false; } } else if (direction.ToString() == "HugRight") { if ((b + 2) % 2 == 0) { forward_ = false; } else { forward_ = true; } } else if (direction.ToString() == "WeaveLeft") { if (b == 1 || b == 2 || (b - 1) % 4 == 0 || (b - 2) % 4 == 0) { forward_ = false; } else { forward_ = true; } } else if (direction.ToString() == "WeaveRight") { if (b == 1 || b == 2 || (b - 1) % 4 == 0 || (b - 2) % 4 == 0) { forward_ = true; } else { forward_ = false; } } Vector3 myVector = Vector3.zero; myVector = points[b, a + 1] - points[b, a]; float myVectorMagnitude = myVector.magnitude; int peopleCount = (int)((density / 5.0f) * myVectorMagnitude); if (peopleCount < 1) { peopleCount = 1; } //float step = myVectorMagnitude / peopleCount; //float totalStep = 0; for (int i = 0; i < peopleCount; i++) { float randomPos = 0; randomPos = Random.Range(-4f, 4f); var people = gameObject; bool gender = NPCAttributeController.GenerateGender(); if (gender == true) { int prefabNum = UnityEngine.Random.Range(0, 7); if (forward_) { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } else { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } } else { int prefabNum = UnityEngine.Random.Range(7, peoplePrefabs.Length); if (forward_) { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } else { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } } people.transform.parent = par.transform; people.gameObject.transform.Rotate(new Vector3(0, -180, 0)); changeLayerTarget(people.transform); var _movePath = people.AddComponent <MovePath4>(); _movePath.walkPath = gameObject; _movePath.MyStart(b, a, /*animName*/ "listen", loopPath, forward_, gender); } } } } }
public void SpawnPeople() { if (par == null) { par = new GameObject(); par.transform.parent = gameObject.transform; par.name = "people"; } int s; s = pointLength[0] - 2; for (int b = 0; b < numberOfWays; b++) { float mSpeed = moveSpeed + UnityEngine.Random.Range(moveSpeed * -0.15f, moveSpeed * 0.15f); for (int a = 1; a <= s; a++) { if (a == 1 || a == 2 || a == 65 || a == 33 || a == 34 || a == 66 || a == 67 || a == 68 || a == 64 || a == 69 || a == 70 || a == 71 || a == 72 || a == 73 || a == 74 || a == 75 || a == 5 || a == 76 || a == 77 || a == 78 || a == 6 || a == 79 || a == 80 || a == 81 || a == 82 || a == 7 || a == 83 || a == 86 || a == 85 || a == 88 || a == 8 || a == 89 || a == 90 || a == 91 || a == 92 || a == 9 || a == 94 || a == 95 || a == 96 || a == 93 || a == 10 || a == 100 || a == 97 || a == 99 || a == 98 || a == 11 || a == 12 || a == 13 || a == 15 || a == 16 || a == 17 || a == 27 || a == 26 || a == 28 || a == 29 || a == 40 || a == 39 || a == 4 || a == 38 || a == 63 || a == 37 || a == 35 || a == 36 || a == 32 || a == 3 ) { bool forward_ = false; if (direction.ToString() == "Forward") { forward_ = true; } else if (direction.ToString() == "Backward") { forward_ = false; } else if (direction.ToString() == "HugLeft") { if ((b + 2) % 2 == 0) { forward_ = true; } else { forward_ = false; } } else if (direction.ToString() == "HugRight") { if ((b + 2) % 2 == 0) { forward_ = false; } else { forward_ = true; } } else if (direction.ToString() == "WeaveLeft") { if (b == 1 || b == 2 || (b - 1) % 4 == 0 || (b - 2) % 4 == 0) { forward_ = false; } else { forward_ = true; } } else if (direction.ToString() == "WeaveRight") { if (b == 1 || b == 2 || (b - 1) % 4 == 0 || (b - 2) % 4 == 0) { forward_ = true; } else { forward_ = false; } } Vector3 myVector = Vector3.zero; myVector = points[b, a + 1] - points[b, a]; float myVectorMagnitude = myVector.magnitude; int peopleCount = (int)((density / 5.0f) * myVectorMagnitude); if (peopleCount < 1) { peopleCount = 1; } //float step = myVectorMagnitude / peopleCount; //float totalStep = 0; for (int i = 0; i < peopleCount; i++) { float randomPos = 0; randomPos = Random.Range(-4, 4); var people = gameObject; bool gender = NPCAttributeController.GenerateGender(); if (gender == true) { int prefabNum = UnityEngine.Random.Range(0, 7); if (forward_) { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } else { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } } else { int prefabNum = UnityEngine.Random.Range(7, peoplePrefabs.Length); if (forward_) { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } else { people = Instantiate(peoplePrefabs[prefabNum], points[b, a] /*+ new Vector3(randomPos, 0, randomPos)*/, Quaternion.identity) as GameObject; } } people.transform.parent = par.transform; people.gameObject.transform.Rotate(new Vector3(0, 90, 0)); changeLayerTarget(people.transform); var _movePath = people.AddComponent <MovePath1>(); _movePath.walkPath = gameObject; _movePath.MyStart(b, a, /*animName*/ "listen", loopPath, forward_, gender); } } } } }