(Unity)触れたものの大きさを徐々に小さくする

(スクリプト)

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

public class ScaleChangeX : MonoBehaviour
{
    private float s;
    private float v;

    private void OnCollisionStay(Collision collision)
    {
        if(collision.gameObject.CompareTag("Player"))
        {
            v += Time.deltaTime * 0.1f;

            // 少しずつsの値を小さくする。
            s = 1 - v;

            // Clamp関数を使ってsに制限を加える。
            s = Mathf.Clamp(s, 0.5f, 1.0f);

            collision.transform.localScale = new Vector3(s, s, s);
        }
    }
}

(実行結果)

  • 触れているオブジェクトの大きさが徐々に小さくなれば成功です。