Почему масштабирование меняется очень медленно? - PullRequest
0 голосов
/ 22 сентября 2019
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 секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...