Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Типо с использованием lerp(start, end, alpha)? Это линейной интерполяцией называется, выглядеть будет кстати странно
Но прост сохраняешь нынешние углы поворота камеры, углы поворота камеры которые нужны, и в течении нужного тебе времени прост интерполируешь значения. Проблемно будет что цель будет бегать туды сюды и нужно будет тебе придумывать как это можно нивелировать
Я бы предложил сделать что-то вроде экспоненциальной интерполяции, где условно каждый тик ты будешь смещать позицию камеры на 50%
т.е. представим что нынешняя позиция камеры = 0, позиция куда нужно смотреть = 5, псевдокод будет выглядеть как-то так:
Таким образом у нас получится примерно такой шаг:
1. Угол = 0
2. Угол = 2.5
3. Угол = 3.725
4. Угол = 4.3625
И так далее, можно так-же вкинуть какое-то threshold значение которое по сути сразу устанавливало бы значение таргет угла без интерполяции, если эффект от такой интерполяции к примеру меньше 5-10%, в таком случае интерполяция не гонялась бы десятки раз, а достаточно было бы 4-6 тиков
Типо с использованием lerp(start, end, alpha)? Это линейной интерполяцией называется, выглядеть будет кстати странно
Но прост сохраняешь нынешние углы поворота камеры, углы поворота камеры которые нужны, и в течении нужного тебе времени прост интерполируешь значения. Проблемно будет что цель будет бегать туды сюды и нужно будет тебе придумывать как это можно нивелировать
Я бы предложил сделать что-то вроде экспоненциальной интерполяции, где условно каждый тик ты будешь смещать позицию камеры на 50%
т.е. представим что нынешняя позиция камеры = 0, позиция куда нужно смотреть = 5, псевдокод будет выглядеть как-то так:
Таким образом у нас получится примерно такой шаг:
1. Угол = 0
2. Угол = 2.5
3. Угол = 3.725
4. Угол = 4.3625
И так далее, можно так-же вкинуть какое-то threshold значение которое по сути сразу устанавливало бы значение таргет угла без интерполяции, если эффект от такой интерполяции к примеру меньше 5-10%, в таком случае интерполяция не гонялась бы десятки раз, а достаточно было бы 4-6 тиков
Типо с использованием lerp(start, end, alpha)? Это линейной интерполяцией называется, выглядеть будет кстати странно
Но прост сохраняешь нынешние углы поворота камеры, углы поворота камеры которые нужны, и в течении нужного тебе времени прост интерполируешь значения. Проблемно будет что цель будет бегать туды сюды и нужно будет тебе придумывать как это можно нивелировать
Я бы предложил сделать что-то вроде экспоненциальной интерполяции, где условно каждый тик ты будешь смещать позицию камеры на 50%
т.е. представим что нынешняя позиция камеры = 0, позиция куда нужно смотреть = 5, псевдокод будет выглядеть как-то так:
Таким образом у нас получится примерно такой шаг:
1. Угол = 0
2. Угол = 2.5
3. Угол = 3.725
4. Угол = 4.3625
И так далее, можно так-же вкинуть какое-то threshold значение которое по сути сразу устанавливало бы значение таргет угла без интерполяции, если эффект от такой интерполяции к примеру меньше 5-10%, в таком случае интерполяция не гонялась бы десятки раз, а достаточно было бы 4-6 тиков