このへんを入れてみました。
- 敵が2秒間隔で連続してやってくる
- 敵が進む経路をWayPointとして設定できる
基本形なところはだいぶできました。
黄色のcubeが経路なので、右に進んで下にV字行って戻ってきて、また右に進むという経路になります。
WayPointはUnityのStandardAssetsのAIcarの自動運転の仕組みなどでも使われています。tsubakit1.hateblo.jp
今回は画面上の黄色のcubeを左から順番にたどっていく感じで作りました。
Vector3の配列としてwpを持ち、シーン上の黄色のcubeの位置を読み込んで、
初期は0として、次のwaypointに到達するとstateを進めて、次のwaypointを目指す。
最後のwaypointに到達したらゴール。
標準のcomponentがあるようですが、自前で作っても簡単ですね。
車を町で走らせる場合なども、同じ仕組みで行けますね。
実際の座標も、実際にシーンで置いてみて決められるので、ゲームエンジン的な仕組みだと思います。
void Start () { wp = new Vector3[10]; wpState=0; wp[0] = GameObject.Find("Waypoint000").transform.position; wp[1] = GameObject.Find("Waypoint001").transform.position; wp[2] = GameObject.Find("Waypoint002").transform.position; wp[3] = GameObject.Find("Waypoint003").transform.position; wp[4] = GameObject.Find("Waypoint004").transform.position; transform.position = wp[0]; } void Update () { if( Vector3.Distance( transform.position,wp[wpState] )<=0.2f ) { wpState++; if(wpState>=5) { Main.life--; GameObject.Destroy(this.gameObject); } } else { transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(wp[wpState] - transform.position), 2f); transform.position += transform.forward * speed; } }