作成中
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityStandardAssets.Characters.ThirdPerson; public class myscript : MonoBehaviour { public GameObject myInstance;//for prefab public GameObject myGoal;//for goal object public int sakusei = 10;//chara duplicate count public GameObject targetbj;//GameObject of chara target Transform targetPos;//位置情報用の変数 GameObject NavObj;//NavMeshのついているGameObject NavMeshAgent myNav;//NavMeshAgent入れ用 List<Vector3> myPoint = new List<Vector3>();//ゴール地点リスト用 // Use this for initialization void Start () { myPoint = new List<Vector3>();//リスト初期化 myPoint.Add (new Vector3 (0.0f, 0.5f, -5.0f));//リスト項目追加 myPoint.Add (new Vector3 (-20f, 0.5f, 14f)); myPoint.Add (new Vector3 (20f, 0.5f, 14f)); //ゴール地点3個作成用(テスト) GameObject goalObj = Instantiate (myGoal, myPoint [0], Quaternion.identity) as GameObject; goalObj.name = "goal1"; goalObj = Instantiate (myGoal, myPoint [1], Quaternion.identity) as GameObject; goalObj.name = "goal2"; goalObj = Instantiate (myGoal, myPoint [2], Quaternion.identity) as GameObject; goalObj.name = "goal3"; //キャラn体作成 for (int i = 0; i < sakusei; i++) { GameObject go = Instantiate (myInstance, new Vector3 (i + 1.0f, 0, 0), Quaternion.identity) as GameObject; string myAIname = "AI" + i.ToString (); go.name = myAIname; int divideInt = i % 3; if (divideInt == 0) { GameObject my1 = GameObject.Find("goal1"); targetPos = my1.GetComponent<Transform> (); }else if (divideInt == 1) { GameObject my2 = GameObject.Find("goal2"); targetPos = my2.GetComponent<Transform> (); }else if (divideInt == 2) { GameObject my3 = GameObject.Find("goal3"); targetPos = my3.GetComponent<Transform> (); } myNav = NavObj.GetComponent<NavMeshAgent> ();//Get Nav mesh from current object myNav.SetDestination (targetPos.position);//set goal pos of myNav myNav.stoppingDistance = 3.0f;//offset distance from goal point...korenaito guriguri suru AICharacterControl myTar = NavObj.GetComponent<AICharacterControl>();//find component of NabObj myTar.target = targetPos;//set Goal variable } } // tsukotenai void Update () { } }