В настоящее время я пытаюсь имитировать баллистику на объекте, который в противном случае не влияет на физику. Если быть точным, у меня есть ракетно-подобный снаряд, который следует за параболической дугой от источника к цели с помощью Lerp. Чтобы сделать его более реалистичным, я хочу, чтобы он не двигался с постоянной скоростью, но чтобы замедлить кульминацию и ускориться на своем пути назад.Перевернутый Smoothstep?
Я использовал функцию Mathf.Smoothstep, чтобы выполнить точную противоположность тому, что мне нужно на других объектах, то есть ослабление и выключение движения.
Так что мой вопрос: как мне получить перевернутый Smoothstep?
Я выяснил, что мне нужно будет на самом деле инвертированной формулой smoothstep [x * x * (3 - 2 * x)], но, будучи не совсем математическим гением, я понятия не имею, как это сделать , Все, что я получил от онлайн-калькуляторов, было довольно массивной новой функцией, которая, я боюсь, не была бы очень эффективной.
Возможно, есть функция, которая приближается к перевернутому плавному шагу, но не так сложна для вычисления.
Любая помощь на этом была бы оценена
Спасибо заранее,
Tux
Во-первых, спасибо за ваш ответ. Но, поскольку я использую lerp-подобную функцию для измерения точки, на которой объект находится на своем пути от начала (0) до пункта назначения (1), мне нужна функция, которая начинается с 0 | 0 и заканчивается на 1 | 1, как и Smoothstep. Но вместо того, чтобы ослабляться тогда, мне нужно ослабить и снова войти, что является плавной функцией, отраженной на диагонали 45 °, ака-инвест. Вот что Wolfram Alpha дает в качестве перевернутой функции Smoothstep: http://www.wolframalpha.com/input/?i=the%20inverse%20function%20of%20x%20*%20x*(3%20-% 202 * x)% 20is Но мне нужна упрощенная форма этого – Tuxedomask
@Tuxedomask обратная функция, которую вы только что отправили, не начинается с 0 | 0 и заканчивается на 1 | 1. – jbernardo
@Tuxedomask. Можете ли вы послать мне график функции, которая делает то, что вы говорите? – jbernardo