Теперь, если я масштабирую x, например, на 100, он будет масштабироваться в обе стороны на 50. Но я хочу, чтобы он масштабировался на 100 только в одну сторону.
И после того, как масштабирование закончено, как я могу получить последнюю конечную позицию? Если, например, я масштабировал объект по x на 100, а начальная позиция равна 0,0,0, поэтому последняя позиция будет 100,0,0?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DrawLinesAnimated : MonoBehaviour
{
public Transform objectToScale;
private void Start()
{
StartCoroutine(scaleOverTime(objectToScale, new Vector3(100, 0, 0), 5));
}
bool isScaling = false;
IEnumerator scaleOverTime(Transform objectToScale, Vector3 toScale, float duration)
{
//Make sure there is only one instance of this function running
if (isScaling)
{
yield break; ///exit if this is still running
}
isScaling = true;
float counter = 0;
//Get the current scale of the object to be moved
Vector3 startScaleSize = objectToScale.localScale;
while (counter < duration)
{
counter += Time.deltaTime;
objectToScale.localScale = Vector3.Lerp(startScaleSize, toScale, counter / duration);
yield return null;
}
isScaling = false;
}
}