Страница 1 из 3

Timescale объекты дёргаются

СообщениеДобавлено: 07 янв 2019, 13:55
Splurgeola
День добрый. Столкнулся с следующей проблемой.
Объект двигаю в FixedUpdate
Синтаксис:
Используется csharp
SphereRigidbody.MovePosition(transform.position + transform.right * Speed);


после изменения Time.timeScale ниже 1 появляются дёргания объекта. Как можно решить вопрос? Всё что гуглил не помогло
При этом анимации идут плавно, без рывков

Re: Timescale объекты дёргаются

СообщениеДобавлено: 07 янв 2019, 14:05
1max1
Update используй вместо FixedUpdate, ну и домножай скорость на таймскейл.

Re: Timescale объекты дёргаются

СообщениеДобавлено: 07 янв 2019, 14:16
Splurgeola
1max1 писал(а):Update используй вместо FixedUpdate, ну и домножай скорость на таймскейл.


Использовал раньше update но была делема другая, у меня много где на объект используется Addforce, и он постоянно отлетал в разные места в зависимости от колличества fps по всей видимости. перенёс в fixedupdate и вопрос решился.
Сейчас попробовал вернуть в update но рывки остались

Re: Timescale объекты дёргаются

СообщениеДобавлено: 07 янв 2019, 14:41
1max1
и он постоянно отлетал в разные места в зависимости от колличества fps

Нужно домножать силу на Time.deltaTime.

Re: Timescale объекты дёргаются

СообщениеДобавлено: 08 янв 2019, 05:56
Splurgeola
1max1 писал(а):
и он постоянно отлетал в разные места в зависимости от колличества fps

Нужно домножать силу на Time.deltaTime.

да в курсе, так и было

Re: Timescale объекты дёргаются

СообщениеДобавлено: 08 янв 2019, 13:19
Splurgeola
Создал новый проект.
timescale 0.2
двигаю объект как угодно , хоть через transform.translate - дёргается :( это фишка юнити теперь? Думал уже что проблема в компьютере, перекинул на другой - так-же дёргается :-\

Re: Timescale объекты дёргаются

СообщениеДобавлено: 08 янв 2019, 13:44
1max1
Наверное юнити паленое попалось.


Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 14:39
Splurgeola
Спасибо за видео.
Вопрос по физике в замедленном времени:

Синтаксис:
Используется csharp
в fixedupdate:
playerRb.MovePosition(transform.position + transform.right * Speed * Time.timeScale * Time.fixedDeltaTime);


Синтаксис:
Используется csharp
 
Time.timeScale = 0.2f;
Time.fixedDeltaTime = 0.02f * Time.timeScale;

к примеру в движении меняю направление гравитации вместо -9.8 на 9.8
При timescale 1 объект обрабатывает физику адекватно, при timescale 0.2 объект просто падает вниз, похоже на то что физика просто не обрабатывается полностью. Подскажите где я не могу сообразить?

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 15:00
Tolking
https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html

void FixedUpdate ()
{
rb.MovePosition (transform.position + transform.forward * Time.deltaTime );
}

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 15:23
1max1
Мне кажется Time.deltaTime и Time.fixedDeltaTime в методе FixedUpdate буду выдавать одно и то же значение.

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 15:37
Jarico
1max1 писал(а):Мне кажется Time.deltaTime и Time.fixedDeltaTime в методе FixedUpdate буду выдавать одно и то же значение.


С чего вдруг? Time.FixedDeltaTime - постоянное значение для физики а Time.deltaTime зависит от частоты рисования фреймов (FPS)

Time.fixedDeltaTime = значению в Time->Fixed Timestep

А ответ на эту тему прост... Приравняй Time.fixedDeltaTime к частоте кадров к примеру 1/60 = 0.016 (60 раз физика будет симулироваться за секунду что равно количеству кадров) Но не приравнивай к Time.deltaTime т.к. еще раз повторюсь значение зависит от FPS

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 16:36
1max1
С чего вдруг?

Фокус-покус...

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 18:13
Jarico
1max1 писал(а):
С чего вдруг?

Фокус-покус...


И что дальше? Показываешь видео где научился выводить значения в логи? Ура! Для тебя даже дату в календаре выделим и будем праздновать

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 18:45
1max1
Я просто показал что я прав, вот и всё, не нервничай)

Re: Timescale объекты дёргаются

СообщениеДобавлено: 09 янв 2019, 19:05
Tolking
таймскейл измени для чистоты эксперемента.