概要
現在見えている画面外に配置した敵等のオブジェクトが、カメラに映るまで待機させておく方法。
ソース
private bool is_Rendered;
void OnWillRenderObject()
{
if (Camera.current.name == "Main Camera")
{
is_Rendered = true;
}
}
OnWillRenderObject()
はオブジェクトが表示されている場合カメラごとに 1 度呼び出されます。
なので、呼び出されたらis_Renderをtrueにして、あとはUpdate()内の行動をif分などで制御したりすればよい。
void Update () {
TimeElapsed += Time.deltaTime;
if (is_Active == true && is_Rendered == true)
{
//プレイヤーの方向に向かって移動していく
Vector3 diff = (player.transform.position - transform.position); //プレイヤーと対照との差分を取得
Enemy_rigidbody.velocity = new Vector3(diff.x * speed_x, diff.y * speed_y);//取得した座標に対して変数をかけてやると進む
}
こんな感じ。