Я столкнулся со странным явлением, которое я не могу объяснить.Если я поверну камеру по обеим осям (Y & X), оси Z тоже повернуты ?!Я делал следующее: - Перспектива от первого лица - Получить дельта X & Y для вращения (dx, dy) - Сделать относительные dx & dy в радианах - Изменить camera.rotation.x & camera.rotation.y со значениями радиан
Странное поведение: - При вращении только на 1 ось все идеально.Вы можете смотреть вверх и вниз, или влево и вправо без проблем - если вы поворачиваете по 2 оси за раз, камера начинает совершать бросок с нуля, а ось Z также вращается - я попробовал все.Кватернионы.Локальные переменные для тангажа и крена.Я даже создал переменную Эйлера, где Z должно быть равным нулю.Но затем, когда я устанавливаю camera.rotation.x и camera.rotation.y и заново извлекаю camera.quaternion и преобразовываю его обратно в eulers, я вижу, что camera.rotation.z перепрыгивает между 0,0 и 0,00001 или очень маленькими значениями.Что не так?