Это можно сделать с помощью функций Time.deltaTime
и Vector3.Lerp
в сопрограмме. Подобно Поворот GameObject с течением времени и Вопросы Move GameObject со временем .
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;
}
ИСПОЛЬЗОВАНИЕ:
Будет масштабировать GameObject в течение 20 секунд:
StartCoroutine(scaleOverTime(cylinder.transform, new Vector3(0, 0, 90), 20f));
Если вы совершили транзакцию, пришло время пытать эту резервную копию, извините. Но для этого нужны резервные копии. Я сделал что-то подобное после себя ... однажды.
Ничего.
Несмотря на это, вы можете быть рады, что у вас есть этот опыт обучения под вашим поясом и гордитесь тем, как вы теперь измените свои привычки, чтобы значительно уменьшить вероятность его повторения , Теперь вы станете «мастером», который может научить молодых щенков и процитировать их из фактического опыта, испытанного в битве.
Просто идея - можете ли вы восстановить резервную копию в новую базу данных, а затем выполнить запрос кросс-базы данных, чтобы обновить этот столбец на основе данных, которые он использовал?