У меня довольно простая настройка, модель на 0,0,0, с:FPS камеры в C++, может быть, с помощью GLM: LookAt
projection = glm::perspective(fov, aspectRatio, near, far);
model = glm::mat4(1.0);
Я хочу гибкую камеру, которая, от того, что я прочитал лучше всего описывается как камера FPS.
Теперь я имею:
glm::mat4 CameraMatrix = glm::lookAt(
glm::vec3(cameraPosition.X,cameraPosition.Y,cameraPosition.Z), // camera, in world space
glm::vec3(cameraTarget.X,cameraTarget.Y,cameraTarget.Z), // direction vector eye + Dir
glm::vec3(upVector.X,upVector.Y,upVector.Z)
);
очень много, как описано здесь: http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/
Это разработка отлично, за исключением одной вещи, мыши вверх и вниз делает, как задумано, но левый-правый поворот мышь делает модель вращением вокруг камеры, а не камерой, вращающейся вокруг модели? Я сделал что-то не так?
Мое впечатление, что для этого требуется по крайней мере некоторое дополнительное вращение и, возможно, перевод, чтобы он работал правильно. Если это так, я задаюсь вопросом, почему это нигде не упоминается. Существует множество обучающих программ, в которых используется lookat, если ссылаться на «камеру FPS», когда я использую Google. Меня это немного смущает.
Теперь примеры вокруг glm :: lookat довольно бедны, и я прочитал кое-что для gluLookAt, в котором слышал некоторые голоса, по крайней мере gluLookAt не является решением для такой задачи, то же самое относится к glm :: lookat? И если да, то каков правильный путь? Я действительно не привязан к glm: смотрю в любом случае, это просто, когда я наткнулся на него, я был как «Эй, просто то, что я искал», и это кажется простым и простым решением. Возможно, кто-то может пролить свет на это и направить меня в правильном направлении или в учебнике.
AFAIK glm :: lookat - это то же самое, что и gluLookAt, только с типами glm, а не с стеком матрицы OpenGL. – Cubic
Возможно, этот учебник - это то, что вы ищете: http://www.learnopengl.com/#!Getting-started/Camera. Описывает логику матрицы lookAt, создающую именно ту камеру FPS, которую вы ищете. –
очень красивый, выглядит как учебник, который мне не хватало. Когда-нибудь я получу некоторую обратную связь. Благодаря! – Gnampf