ランダムにターゲットを選び、ターゲットに向かって移動する (解説記事 http://negi-lab.blog.jp/MoveToRandomTarget )
using UnityEngine;
// ランダムにターゲットを選び、ターゲットに向かって移動する
// 解説記事 http://negi-lab.blog.jp/MoveToRandomTarget
public class MoveToRandomTarget : MonoBehaviour
{
// シーン上に配置されているすべてのFoodオブジェクト
private GameObject[] foods;
// 向かう先
private Transform target;
private void Start ()
{
// シーン上の、"Food"タグが付けられたオブジェクトをすべて取得する
foods = GameObject.FindGameObjectsWithTag ( "Food" );
SelectRandomTarget ();
}
// ランダムにターゲットを選ぶ
private void SelectRandomTarget ()
{
target = foods[Random.Range ( 0, foods.Length )].transform;
}
private void FixedUpdate ()
{
GoToTarget ();
// 左クリック
if ( Input.GetMouseButtonDown ( 0 ) )
{
SelectRandomTarget ();
}
}
// 移動する
private void GoToTarget ()
{
// 線形補間で移動する
transform.position = Vector3.Lerp ( transform.position, target.position, 0.01f );
}
}