Unreal Engine 4 http://uengine.ru/forum/ |
|
Интерполяция векторов (FVector) http://uengine.ru/forum/viewtopic.php?f=19&t=7448 |
Страница 1 из 1 |
Автор: | adinadin [ 10 июл 2017, 13:39 ] |
Заголовок сообщения: | Интерполяция векторов (FVector) |
Есть ли какой то метод в FVector( или его наследнике) для интерполяции двух векторов? |
Автор: | adinadin [ 10 июл 2017, 13:42 ] |
Заголовок сообщения: | |
только спросил, сразу ответ нашел - EvaluateBezier, если вдруг кому-то будет нужно. |
Автор: | WssIDs [ 10 июл 2017, 14:20 ] |
Заголовок сообщения: | |
Этот метод, явно не интерполяция. По документации этот метод создает точки на кривой Безье. Насколько я знаю, интерполяция векторов реализована в FMath https://docs.unrealengine.com/latest/INT/API/Runtime/Core/Math/FMath/index.html Vector2DInterpConstantTo, Vector2DInterpTo, VInterpConstantTo, VInterpNormalRotationTo, VInterpTo |
Автор: | Andy_rst [ 11 июл 2017, 00:37 ] |
Заголовок сообщения: | |
Я использовал Ease: Пример работы в вариации Ease in out: https://youtu.be/fivm1hICIvE?t=95 |
Автор: | gary_cho [ 25 июл 2017, 12:30 ] |
Заголовок сообщения: | |
Lerp |
Автор: | Noob256 [ 25 июл 2017, 12:39 ] |
Заголовок сообщения: | |
template<class T> T const Interpolate(T const&v1, T const&v2, float s) { return v1 + (v2 - v1) * s; } template<class T> T const HermiteInterpolate(T const& pos1, T const& dir1, T const& pos2, T const& dir2, float s) { float s_2 = s * s; float s_3 = s_2 * s; float b1 = -2.0f * s_3 + 3.0f * s_2; float b0 = 1.0f - b1; float b3 = s_3 - s_2; float b2 = b3 - s_2 + s; return b0 * V1 + b1 * V2 + b2 * T1 + b3 * T2; } |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |