(Unity)触れたら減速して、数秒後に元の速度に戻る。

(スクリプト)

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

public class EnemyMove : MonoBehaviour
{
    public float moveSpeed;
    private float startSpeed;

    private void Start()
    {
        startSpeed = moveSpeed;
    }

    void Update()
    {
        transform.Translate(Vector3.forward * Time.deltaTime * moveSpeed);
    }

    private void OnTriggerEnter(Collider other)
    {
        if(other.gameObject.CompareTag("SlowShell"))
        {
            // 速度を3分の1にする。
            moveSpeed = moveSpeed / 3;

            Invoke("SpeedReset", 2.0f);
        }
    }

    void SpeedReset()
    {
        // 速度を元に戻す。
        moveSpeed = startSpeed;
    }
}