Временные отрезки меньше кадра

Общие вопросы о Unity3D

Временные отрезки меньше кадра

Сообщение Balphagore 03 фев 2020, 13:41

Можно ли разбить кадр рендеринга на ещё более мелкие отрезки? Просто полет пули на реалистичных скоростях при 60 кадрах в секунду превращается в телепортации на 15 - 20 метров, при которых зарегистрировать попадание даже в здание может быть проблемой. Можно ли разбить кадр юнити на ещё меньшие отрезки, или движок это не позволяет? Я знаю, что можно реализовать регистрацию попаданий на таких скоростях при помощи рейкастов. Мне интересна чисто техническая сторона юнити.
Balphagore
UNIт
 
Сообщения: 84
Зарегистрирован: 04 июл 2019, 13:00

Re: Временные отрезки меньше кадра

Сообщение Dewa1s 03 фев 2020, 13:45

физика считает в FixedUpdate, она ко времени кадра не привязана :-??
Аватара пользователя
Dewa1s
Старожил
 
Сообщения: 564
Зарегистрирован: 26 дек 2011, 02:12

Re: Временные отрезки меньше кадра

Сообщение 1max1 03 фев 2020, 13:52

У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Временные отрезки меньше кадра

Сообщение Balphagore 03 фев 2020, 14:01

Dewa1s писал(а):физика считает в FixedUpdate, она ко времени кадра не привязана :-??

FixedUpdate, насколько я знаю, срабатывает ещё реже, 50 раз в секунду.
Balphagore
UNIт
 
Сообщения: 84
Зарегистрирован: 04 июл 2019, 13:00

Re: Временные отрезки меньше кадра

Сообщение Balphagore 03 фев 2020, 14:07

1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

Хм... Помогло, кстати. Но мне, всё-таки, интересен более фундаментальный вопрос - можно ли разбить кадр на ещё меньшие части и что при этом продолжит нормально работать. Например те же коллизии. Их же можно вычислять не при помощи физики юнити, а при помощи вычислений, а это, по идее, можно делать несколько раз за один кадр.
Balphagore
UNIт
 
Сообщения: 84
Зарегистрирован: 04 июл 2019, 13:00

Re: Временные отрезки меньше кадра

Сообщение 1max1 03 фев 2020, 14:08

Balphagore писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

Хм... Помогло, кстати. Но мне, всё-таки, интересен более фундаментальный вопрос - можно ли разбить кадр на ещё меньшие части и что при этом продолжит нормально работать. Например те же коллизии. Их же можно вычислять не при помощи физики юнити, а при помощи вычислений, а это, по идее, можно делать несколько раз за один кадр.

Этим и занимается физика юнити. Хочешь написать свою? Удачи))
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Временные отрезки меньше кадра

Сообщение Balphagore 03 фев 2020, 14:14

1max1 писал(а):
Balphagore писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

Хм... Помогло, кстати. Но мне, всё-таки, интересен более фундаментальный вопрос - можно ли разбить кадр на ещё меньшие части и что при этом продолжит нормально работать. Например те же коллизии. Их же можно вычислять не при помощи физики юнити, а при помощи вычислений, а это, по идее, можно делать несколько раз за один кадр.

Этим и занимается физика юнити. Хочешь написать свою? Удачи))

Скорее не написать, а понять) По итогу, я так понимаю, физика не может отрабатывать чаще чем раз за кадр даже если мощности позволяют делать это чаще? Например если частота кадров зафиксирована?
Balphagore
UNIт
 
Сообщения: 84
Зарегистрирован: 04 июл 2019, 13:00

Re: Временные отрезки меньше кадра

Сообщение 1max1 03 фев 2020, 14:19

ИзображениеИзображение
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Временные отрезки меньше кадра

Сообщение Balphagore 03 фев 2020, 14:31

1max1 писал(а):ИзображениеИзображение

Мммм... А вот это уже интересно) Но какие у него ограничения? Если понижать этот параметр, то частота FixedUpdate будет расти? Но как понять, когда система уже не тянет текущее значение?
Balphagore
UNIт
 
Сообщения: 84
Зарегистрирован: 04 июл 2019, 13:00

Re: Временные отрезки меньше кадра

Сообщение 1max1 03 фев 2020, 18:33

Ограничение только твоим текущим фпс. Я не знаю зачем вообще менять этот параметр, лишь бы потыкать?) Создать реалистичную симуляцию физики на юнити не получится, смирись.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Временные отрезки меньше кадра

Сообщение Dewa1s 04 фев 2020, 11:12

Balphagore писал(а):
Dewa1s писал(а):физика считает в FixedUpdate, она ко времени кадра не привязана :-??

FixedUpdate, насколько я знаю, срабатывает ещё реже, 50 раз в секунду.

Интервал обновления FixedUpdate задается через настройки, там хоть 500 раз в секунду можно выставить
Аватара пользователя
Dewa1s
Старожил
 
Сообщения: 564
Зарегистрирован: 26 дек 2011, 02:12

Re: Временные отрезки меньше кадра

Сообщение mastersmit 04 фев 2020, 14:48

Можно ещё сделать так - чем больше скорость пули, тем сильнее растягивать его коллайдер.. То есть пуля она же маленькая, и его коллайдер на текущем кадре перед целевым объектом, а на следующем кадре уже за ним, вот и нет ни столкновения, ни входа. Опытным путем определить необходимый скейл коллайдера. Симулировать низкую частоту кадров через targetFramerate.

А вообще все это бред.. Даже снаряды танковые глазом не увидишь, что тут о пуле говорить.. Рейкастмть, да и все
Последний раз редактировалось mastersmit 04 фев 2020, 14:52, всего редактировалось 1 раз.
Аватара пользователя
mastersmit
Старожил
 
Сообщения: 558
Зарегистрирован: 12 май 2014, 14:05
Откуда: Приморский край

Re: Временные отрезки меньше кадра

Сообщение mastersmit 04 фев 2020, 14:51

1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

А не всегда помогает.. Я для проноски объекта юзал rb.velocity, так оно даже с динамиком этим умудрялось оказываться за другим коллайдером без столкновения..
Аватара пользователя
mastersmit
Старожил
 
Сообщения: 558
Зарегистрирован: 12 май 2014, 14:05
Откуда: Приморский край

Re: Временные отрезки меньше кадра

Сообщение 1max1 04 фев 2020, 14:59

mastersmit писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

А не всегда помогает.. Я для проноски объекта юзал rb.velocity, так оно даже с динамиком этим умудрялось оказываться за другим коллайдером без столкновения..

Как-то криво проносил видимо)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Временные отрезки меньше кадра

Сообщение mastersmit 04 фев 2020, 15:06

1max1 писал(а):
mastersmit писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

А не всегда помогает.. Я для проноски объекта юзал rb.velocity, так оно даже с динамиком этим умудрялось оказываться за другим коллайдером без столкновения..

Как-то криво проносил видимо)

Так в том то и дело.. Просто задавал скорость "нужная позиция - позиция объекта", а нужная позиция это "камера.форвард * 2" и эта зараза в виде Куба умудрялось оооооооочень редки оказываться за стеной, когда резко камерой в её направлении крутишь.. ( ну это одна из причин, почему я частично отказался полностью положиться на физику юнити, другие к текущей теме не относятся =)
Аватара пользователя
mastersmit
Старожил
 
Сообщения: 558
Зарегистрирован: 12 май 2014, 14:05
Откуда: Приморский край

След.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15