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

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

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

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

СообщениеДобавлено: 03 фев 2020, 13:45
Dewa1s
физика считает в FixedUpdate, она ко времени кадра не привязана :-??

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

СообщениеДобавлено: 03 фев 2020, 13:52
1max1
У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

СообщениеДобавлено: 03 фев 2020, 14:01
Balphagore
Dewa1s писал(а):физика считает в FixedUpdate, она ко времени кадра не привязана :-??

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

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

СообщениеДобавлено: 03 фев 2020, 14:07
Balphagore
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

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

СообщениеДобавлено: 03 фев 2020, 14:08
1max1
Balphagore писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

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

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

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

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

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

Скорее не написать, а понять) По итогу, я так понимаю, физика не может отрабатывать чаще чем раз за кадр даже если мощности позволяют делать это чаще? Например если частота кадров зафиксирована?

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

СообщениеДобавлено: 03 фев 2020, 14:19
1max1
ИзображениеИзображение

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

СообщениеДобавлено: 03 фев 2020, 14:31
Balphagore
1max1 писал(а):ИзображениеИзображение

Мммм... А вот это уже интересно) Но какие у него ограничения? Если понижать этот параметр, то частота FixedUpdate будет расти? Но как понять, когда система уже не тянет текущее значение?

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

СообщениеДобавлено: 03 фев 2020, 18:33
1max1
Ограничение только твоим текущим фпс. Я не знаю зачем вообще менять этот параметр, лишь бы потыкать?) Создать реалистичную симуляцию физики на юнити не получится, смирись.

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

СообщениеДобавлено: 04 фев 2020, 11:12
Dewa1s
Balphagore писал(а):
Dewa1s писал(а):физика считает в FixedUpdate, она ко времени кадра не привязана :-??

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

Интервал обновления FixedUpdate задается через настройки, там хоть 500 раз в секунду можно выставить

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

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

А вообще все это бред.. Даже снаряды танковые глазом не увидишь, что тут о пуле говорить.. Рейкастмть, да и все

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

СообщениеДобавлено: 04 фев 2020, 14:51
mastersmit
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

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

СообщениеДобавлено: 04 фев 2020, 14:59
1max1
mastersmit писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

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

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

СообщениеДобавлено: 04 фев 2020, 15:06
mastersmit
1max1 писал(а):
mastersmit писал(а):
1max1 писал(а):У пули рб ставишь метод детекта коллизий на Continuous Dynamic и радуешься жизни (но это не точно).

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

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

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