Я использую сопрограмму ниже, чтобы попытаться масштабировать преобразование из Vector3.zero в Vector3.one в течение одной секунды (scalingTime). Я определил, что сопрограмма определенно запускается, но объект не масштабируется. Правильно ли я использую «yield return null» в цикле while?
IEnumerator ScaleLaser()
{
float elapsedTime = 0;
float scalingTime = 1;
Vector3 currentScale = laser.localScale;
while (elapsedTime < scalingTime)
{
transform.localScale = Vector3.Lerp(currentScale, Vector3.one, elapsedTime / scalingTime);
elapsedTime += Time.deltaTime;
yield return null;
}
}