ひょこ生まれ!
卵を無事に巣まで届けたら、ひょこが生まれ、ランダムに歩くようにしましょう。
卵を検知する「EggDetector」
まず、卵が巣に届く検知スクリプトを作成しましょう。卵かどか「Egg」というタグで識別すると:
// 卵を検知する
public class EggDetector : MonoBehaviour
{
// 検知したら発生するイベント
public event System.Action<GameObject> Detected;
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Egg"))
Detected?.Invoke(other.gameObject);
}
}
もちろん、卵に「Egg」タグを追加しなければならない。

そして、巣にスクリプトをアタッチしてください(すでにトリガー付き)

次々の卵を生成
次、ゲームマネージャークラスを作成し、卵が巣に届いたら卵を消し、新しい卵を生成しましょう。まず、ゲームマネージャークラスを作成
スクリプト
public class GameManager : MonoBehaviour
{
// 卵のプレハブ
[SerializeField]
private GameObject eggPrefab;
// 卵の開始位置
[SerializeField]
private Transform eggStart;
// 卵のゴール(巣)
[SerializeField]
private EggDetector goal;
// 新しい卵を生成
private void CreateEgg()
{
// プレハブから卵を生成し、開始位置にする
var egg = Instantiate(eggPrefab);
egg.transform.position = eggStart.position;
}
// 卵が巣に届いたときのイベントを受け取る
private void OnEggDetected(GameObject egg)
{
// 卵を廃止し、次のを生成
Destroy(egg);
CreateEgg();
}
private void Start()
{
// 開始の卵を生成
CreateEgg();
// イベントに登録
goal.Detected += OnEggDetected;
}
private void OnDestroy()
{
// イベント登録解除
goal.Detected -= OnEggDetected;
}
}
Unityの設定
すでに作った卵をプレハブにし、シーンから削除してください