Xttx
Мыслитель
(7768)
1 месяц назад
Если в обычном методе в цикле, менять объекту позицию, то анимации не получится, потому что весь цикл выполнится в один кадр.
А в курутине можно так:
for (int i = 0; i < 100; i++) {
transform.position += new Vector3(0.1f, 0f, 0f);
//после выполнения следующей команды, цикл будет останавливаться, и дальше будут довыполняться другие скрипты, потом кадр идёт на рендер, а в следующем кадре - оно продолжит с этого же места
yield return null;
}
XttxМыслитель (7768)
1 месяц назад
Просто обрабатывай свою AnimationCurve в курутине, в цикле, как ты бы это делал в обычном методе. И внутри этого цикла, в конце, воткни "yield return null;". В месте вызова прыжка, впиши "StartCoroutine(jump_coroutine);" (ну, или как ты там её назовёшь). Да, в принципе, и всё.