using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Scale : MonoBehaviour
{
public float duration = 1f;
public Vector3 minSize;
public Vector3 maxSize;
public bool scaleUp = false;
public Coroutine scaleCoroutine;
public bool scalingHasFinished = false;
public DepthOfField depthOfField;
private void Start()
{
transform.localScale = minSize;
}
private void Update()
{
if(depthOfField.depthOfFieldProcessEnded == true)
{
StartCoroutine(ScaleOverTime());
depthOfField.depthOfFieldProcessEnded = false;
}
}
public IEnumerator ScaleOverTime()
{
float counter = 0;
Vector3 startScaleSize = transform.localScale;
while (counter < duration)
{
counter += Time.deltaTime;
transform.localScale = Vector3.Lerp(startScaleSize, maxSize, counter / duration);
yield return new WaitForSeconds(duration);
}
scalingHasFinished = true;
}
}
Я хочу, чтобы он масштабировался от minSize до maxSize в течение 1 секунды.Но вместо этого он меняет масштаб каждую секунду на 0,01, пока не достигнет максимального размера.
Делает масштабирование плавным на 1 секунду.