Если тело двигается через addforce.
Мы ведь не можем конвертировать силу в скорость что бы посчитать заранее ? Можно только выставить velocity на определённое значение, но мне такой вариант не нравится.
Можно ещё уменьшать силу ускоряющую объект в зависимости от текущей скорости
Как принято это решать ?
Давай предметно пообщаемся. Что там у тебя?
1) Дай скрин, лучше несколько, может видео есть.
2) что надо сделать или что ты пытаешься решить.
Обычно стандартные решения не подходят когда задачу решают не ту, но бывают исключения.
Чем больше инфы, тем лучше.
Мне тоже любопытно, что посоветуют, я пользовался несколькими вариантами, самый простой из которых сила сопротивление Resistance = k * V * V. Ну и максимальную силу тяги так можно высчитать.
Salamandr
> Чем больше инфы, тем лучше.
Вопрос про то как правильно ограничивать скорости объектов, которые двигаются физическим движком через addforce.
Add force каждый кадр в тике.
IGamedevStudio
> Вопрос про то как правильно ограничивать скорости объектов
берёте длину вектора velocity, если она больше чем нужно, уменьшаете его придавая add force или add impulse в противоположном направлении.
Если физику сделать своей, то достаточно регулировать velocity.
Salamandr
> берёте длину вектора velocity,
Что делает эта функция ? Изучал по ней разные доки но нифига не понял.
Вроде должна вывести "локальную" скорость, или нет.
Salamandr
> Если физику сделать своей
Как это понимать ?
IGamedevStudio
> роде должна вывести "локальную" скорость, или нет.
да. Это ускорение. Она же скорость, только это и сила скорости и направление. Она гасится согласен трению, изменяется гравитацией. Ну и всякими импульсами которые вы ей дадите.
>> Если физику сделать своей
> Как это понимать?
https://youtu.be/IYR-RgfJEHc
https://youtu.be/OdVX75tRRR0?t=356
результат свои усилий (я не видел этих видео когда создавал свою, но там описывается примерно тоже самое))
Salamandr
> да. Это ускорение. Она же скорость, только это и сила скорости и направление.
Не понятно как это.
Велосити объекта, я получаю так.
Думаю посчитать в процентах в зависимости от велосити по каждой оси, чем выше велосити тем меньше применять силу для движения.
Ну или тупо set velocity делать, но это как то грубо.Хочется более элегантное решение.
IGamedevStudio
> Хочется более элегантное решение.
Более элегантное решение уже написал Salamandr.
Сила действия всегда уравновешивается силой противодействия. Более элегантного решения нет.
Опять же, как уже было озвучено, можно решать это в лоб, как и делают большинство ленивых разработчиков - порог скорости, отключение прикладываемых сил или прикладывание обратных сил.
Ну и отдельные кадры, тупо присваивают скорость при прохождении порога скорости.
sledo
> Сила действия всегда уравновешивается силой противодействия.
Понял.Спасибо.
В черновую выглядит как то так.Голова пухнет от этой ****матики
Потом ещё подумаю.Флоат на который делится раскрученый абсолют заменить вектором забыл, не буду скринить повторно.Ресистанс в addforce главного тела.
IGamedevStudio
Вот поэтому я и не люблю визуальный скриптинг.
В общем случае, сначала собираешь вектор сил от всех источников, а затем его прикладываешь.
Тема в архиве.