Удивительно, что вы не увидели, как это сделать после того, как вам действительно удалось приложить силы в статических направлениях к чему-то, что вы настроили поверх пули.
Да ладно, у тебя есть навык, чтобы понять это.
Здесь просто толчок в направлении (хе-хе), кхм. Просто возьмите вектор направления взгляда (который может быть определен камерой, 1-м или 3-м видом или даже чем-то еще...).
Поздравляю, этот вектор - ваша сила с коэффициентом k
.
Вы также должны модулировать эту силу в соответствии со скоростью, вам не нужно разгоняться до бесконечной скорости, просто сначала разгоняйтесь, а затем регулируйте силу, чтобы стремиться к желаемой скорости ходьбы.
Затем боковые направления получаются путем поворота вектора лица на 90 градусов вокруг оси стояния (скорее всего, вертикальной). Вы можете получить это, просто поменяв компоненты местами и умножив один из них на -1
. x,y,z
становится y,-x,z
Чтобы вернуться назад, нужно всего лишь -x, -y, -z
по вектору, обращенному лицом.
Таким образом, ваш ключ up
привязан не к 0,1,0
, а к facing_dir
. Этот обращенный каталог можно изменить с помощью мыши или других элементов управления видом, например, цифровых клавиш 2,6,8,4. Или вы можете перемещаться вверх, влево, вправо, вниз и использовать w, a, s, d, как и все остальные, и использовать клавиши направления для поворота лицом. (+мышь)
Получить вектор facing
из движений мыши или клавиш направления гораздо сложнее, чем выяснить, как применить силу, поэтому, если у вас уже есть вектор facing
, я озадачен тем, что у вас вообще есть проблема.
person
v.oddou
schedule
26.03.2014