java - gluLookAt 第一人称视角

标签 java opengl lwjgl

我正在尝试将我的太空入侵者游戏切换为第一人称视角,即从船上看世界的视角。我对应该关注什么点感到有点困惑。我目前在 gluLookAt 中使用这些参数:

GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glLoadIdentity();
GLU.gluLookAt(ship3dPos.x, ship3dPos.y, ship3dPos.z,400.0f, 600.0f,-50.0f, 0.0f, 1.0f,-0.0f);

我不确定应该将参数 4,5 和 6 设置为多少,才能看到整个世界(窗口为 800/600)。

最佳答案

如果你想要第一人称视角,那么参数 0 1 2 将是玩家,3 4 5 将是他们正在看的位置,6 7 8 将是向上的。

gluLookAt(eye.x,eye.y,eye.z,center.x,center.y,center.z,up.x,up.y,up.z)

向上 vector - 定义 View 的“向上”enter image description here

关于java - gluLookAt 第一人称视角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781874/

相关文章:

java - 根据出现次数拆分字符串

java - 在 Java 中编写 WHILE 循环来计算序列中的最大值,从而防止用户输入

java - LWJGL 加速渲染

java - 结果集包含 int8 类型的列,但是 getInt 或 getByte 都无法获取列的值

java - 交换数组中的两个 boolean 值

opengl - 如何在 OpenGL 中使用多个视口(viewport)?

c++ - 你怎么能把一组数字变成大部分的整数呢?

c++ - 在 Linux 上从 Windows 编译 OpenGL 应用程序

java - OpenGL - 不需要的 z 轴相机旋转

java - OpenGL 帧缓冲区深度不起作用