(Unity)ターゲットに吸い寄せられるギミック(Vector3.Distance + Vector3.MoveTowards)

(発想の転換)

・ターゲットに「吸い寄せられる」のではなく、「ターゲットに向かってダッシュ(高速移動)する」


(スクリプト)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CoinMove : MonoBehaviour
{
    private GameObject target;
    private float dis;

    private void Start()
    {
        target = GameObject.Find("Bot");
    }

    private void Update()
    {
        // ターゲットとの距離を計測
        dis = Vector3.Distance(transform.position, target.transform.position);

        // ターゲットとの距離が近くなったら
        if(dis < 3f)
        {
            // ターゲットに向かってダッシュ!
            transform.position = Vector3.MoveTowards(transform.position, target.transform.position, 0.25f);
        }
    }
}