Unreal EngineФорумФизика

Ограничение скорости физического тела.

#0
23:38, 31 янв 2023

Если тело двигается через addforce.
Мы ведь не можем конвертировать силу в скорость что бы посчитать заранее ? Можно только выставить velocity на определённое значение, но мне такой вариант не нравится.
Можно ещё уменьшать силу ускоряющую объект в зависимости от текущей скорости
Как принято это решать ?

#1
7:00, 1 фев 2023

Давай предметно пообщаемся. Что там у тебя?
1) Дай скрин, лучше несколько, может видео есть.
2) что надо сделать или что ты пытаешься решить.
Обычно стандартные решения не подходят когда задачу решают не ту, но бывают исключения.
Чем больше инфы, тем лучше.

#2
8:34, 1 фев 2023

Мне тоже любопытно, что посоветуют, я пользовался несколькими вариантами, самый простой из которых сила сопротивление Resistance = k * V * V. Ну и максимальную силу тяги так можно высчитать.

#3
14:48, 1 фев 2023

Salamandr
> Чем больше инфы, тем лучше.
Вопрос про то как правильно ограничивать скорости объектов, которые двигаются физическим движком через addforce.
Add force каждый кадр в тике.

#4
23:55, 1 фев 2023

IGamedevStudio
> Вопрос про то как правильно ограничивать скорости объектов
берёте длину вектора velocity, если она больше чем нужно, уменьшаете его придавая add force или add impulse в противоположном направлении.
Если физику сделать своей, то достаточно регулировать velocity.

#5
0:37, 2 фев 2023

Salamandr
> берёте длину вектора velocity,
Что делает эта функция ? Изучал по ней разные доки но нифига не понял.
Вроде должна вывести "локальную" скорость, или нет.

Salamandr
> Если физику сделать своей
Как это понимать ?

#6
1:01, 2 фев 2023

IGamedevStudio
> роде должна вывести "локальную" скорость, или нет.
да. Это ускорение. Она же скорость, только это и сила скорости и направление. Она гасится согласен трению, изменяется гравитацией. Ну и всякими импульсами которые вы ей дадите.

>> Если физику сделать своей
> Как это понимать?
https://youtu.be/IYR-RgfJEHc
https://youtu.be/OdVX75tRRR0?t=356
результат свои усилий (я не видел этих видео когда создавал свою, но там описывается примерно тоже самое))

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#7
1:28, 2 фев 2023

Salamandr
> да. Это ускорение. Она же скорость, только это и сила скорости и направление.
Не понятно как это.
Велосити объекта, я получаю так.

+ Показать

Думаю посчитать в процентах в зависимости от велосити по каждой оси, чем выше велосити тем меньше применять силу для движения.
Ну или тупо set velocity делать, но это как то грубо.Хочется более элегантное решение.

#8
18:52, 2 фев 2023

IGamedevStudio
> Хочется более элегантное решение.
Более элегантное решение уже написал Salamandr.
Сила действия всегда уравновешивается силой противодействия. Более элегантного решения нет.
Опять же, как уже было озвучено, можно решать это в лоб, как и делают большинство ленивых разработчиков - порог скорости, отключение прикладываемых сил или прикладывание обратных сил.
Ну и отдельные кадры, тупо присваивают скорость при прохождении порога скорости.

#9
6:04, 4 фев 2023

sledo
> Сила действия всегда уравновешивается силой противодействия.
Понял.Спасибо.
В черновую выглядит как то так.Голова пухнет от этой ****матики
Потом ещё подумаю.Флоат на который делится раскрученый абсолют заменить вектором забыл, не буду скринить повторно.Ресистанс в addforce главного тела.

+ ахтунг не причёсанный бпринт
#10
17:45, 5 фев 2023

IGamedevStudio
Вот поэтому я и не люблю визуальный скриптинг.
В общем случае, сначала собираешь вектор сил от всех источников, а затем его прикладываешь.

Unreal EngineФорумФизика

Тема в архиве.