好的,我正在按照这个教程制作一个OpenGL相机:http://nehe.gamedev.net/data/articles/article.asp?article=08
我跟着做了,经过一些努力,现在有了三个向量,代表相机的三个轴。
问题是什么?我无法弄清楚如何使用这些信息来得到正确的旋转/平移!我尝试使用gluLookAt,使用相机位置作为第一个参数,然后将相机的Z轴用于目标,将Y轴用于上方参数。结果是相机永远不停地看着一个点,无论我向上/向下/向左/向右移动,旋转的行为变得更加奇怪...
我是完全错误的吗?我考虑使用四元数来计算所需的转换,但是无法弄清楚如何获得所需的参数/如何入手...基本上,我只想开始使用类似FPS的简单相机,可以在其中移动,向上/向下和向两侧看(以前我大部分时间都已经完成了,除了当向上看并转身时,旋转出现问题...)
非常感谢您的帮助!我已经花费了数小时的时间,但情况并没有得到改善... 我需要制作一个可以偏航/俯仰/翻滚的摄像机,而不会被固定在一个单一的点上。编辑:好吧,显然正确旋转可以真正帮助!我有些傻。不过,我仍然很想知道如何使用我的相机的三个轴来形成我的变换的四元数。