Size: a a a

2020 April 07

SR

Serhii Romanenko in unity3d.ru
Дмитрий Туманов
Я на телефоны особо управление не делал, не могу понять где косяк. ПОдскажите, пожалуйста
Вместо фиксед апдейт надо использовать обычный
источник

ДТ

Дмитрий Туманов... in unity3d.ru
Serhii Romanenko
Вместо фиксед апдейт надо использовать обычный
Спасибо, попробую, надеюсь другие проблемы не вылезут)
источник

ДТ

Дмитрий Туманов... in unity3d.ru
Serhii Romanenko
Вместо фиксед апдейт надо использовать обычный
На самом деле плохая идея была, потому что физика вся ломалась, я не зря изначально FixedUpdate начал использовать. Но всё равно спасибо, совет подтолкнул меня к верному решению.
источник

f

formurik in unity3d.ru
Абсолютно верно вам подсказали. Нельзя инпуты обрабатывать в фиксед апдейте. Во первых, потому что юнити инпуты обрабатывает после фиксед апдейта. Во вторых, потому что фиксед апдейт живет в своем цикле и его тик, в зависимости от фпс, может вообще не попасть в кадр, а может несколько раз. Инпуты надо обрабатывать в апдейте. Неоднократно уже скидывал, но тем не менее. Внизу есь блок-схема кадра. https://docs.unity3d.com/ru/current/Manual/ExecutionOrder.html
источник

AN

Arthur Novikov in unity3d.ru
Может кто копал - корутины основаны на апи тасков?
источник

KE

Kirill Evdokimov in unity3d.ru
Нет, не основаны
источник

KE

Kirill Evdokimov in unity3d.ru
Они работают на итераторах
источник

AN

Arthur Novikov in unity3d.ru
Kirill Evdokimov
Они работают на итераторах
Это да, но всё же в одном потоке. Как тогда тред слип выполняется?
источник

KE

Kirill Evdokimov in unity3d.ru
В корутинах ты не орудуешь потоками
источник

AN

Arthur Novikov in unity3d.ru
А Wait как отсчитывается?
источник

N

Needle in unity3d.ru
Arthur Novikov
А Wait как отсчитывается?
Wait это выход из корутины на N тиков
источник

N

Needle in unity3d.ru
Если упростить
источник

AS

Anton Smetanin in unity3d.ru
Arthur Novikov
А Wait как отсчитывается?
Попробуй свою реализацию корутин написать
источник

AS

Anton Smetanin in unity3d.ru
Там довольно просто это делается
источник

AS

Anton Smetanin in unity3d.ru
По ходу как раз разберёшься, как они работают
источник

AF

Alex Feer in unity3d.ru
Arthur Novikov
Это да, но всё же в одном потоке. Как тогда тред слип выполняется?
private IEnumerator coroutine;
void Update() {
if (this.coroutine != null && this.coroutine.MoveNext() == false) this.coroutine = null;
}

void StartCoroutine(IEnumerator coroutine) {
if (coroutine.MoveNext() == true) this.coroutine = coroutine;
}
источник

AF

Alex Feer in unity3d.ru
Вот так они работают, если упростить без вложенности
источник

AS

Anton Smetanin in unity3d.ru
Alex Feer
Вот так они работают, если упростить без вложенности
Ну у него вопрос был про WaitForSeconds)
источник

AF

Alex Feer in unity3d.ru
Ну WaitForSeconds можно развернуть в while
источник

AS

Anton Smetanin in unity3d.ru
Так что там побольше кода получится)
источник