Я уже пробовал, но когда камера направлена вниз, она очень медленно двигается
Короче, там в классе камеры есть 3 вектора: Front, Right и Up. По вектору Right всё прекрасно заблокировано и при движении вправо или влево нет движения вниз или вверх. Движение вверх и вниз я сам написал, а вот с движением вперёд и назад возникли проблемы. Когда камера наклонена, то движение осуществляется не на одной высоте. Камера двигается туда, куда смотрит. Мне нужно, чтобы камера двигалась в том направлении, куда смотрит, но чтобы оставалась на одной высоте
Ну, тогда нужно сделать метод перемещения вдоль вектора направления. Направление высчитываем из вектора front, обнулив значение y в нем и нормализировав
Просто cos/sin из yaw угла, получится единичный XZ вектор направления
https://github.com/f0xeri/Mine-Plus-Plus/blob/2b8ccb9626fb78f2e10c6a4a309b7638cc1d9499/src/Controls/Controls.cpp#L178
Хорошо попробую
Только front ещё зависит от мыши, думаю нужно создать отдельный вектор
Обсуждают сегодня