Java OpenGL - 如何使对象随相机旋转?

Posted

技术标签:

【中文标题】Java OpenGL - 如何使对象随相机旋转?【英文标题】:Java OpenGL - How do I make an object rotate with the camera? 【发布时间】:2015-09-09 21:46:15 【问题描述】:

我正在使用 OpenGL 制作 3D 游戏,我需要一种方法来使对象始终指向相机。无论您在哪里看,它都需要具有相同的方向。我该怎么做呢?

【问题讨论】:

您可能想在gamedev.stackexchange.com 中提问,而不是在这里。 OpenGL 没有所谓的“相机”这个概念。 @immibis 这是一个荒谬的声明,只会使提问者感到困惑并使情况复杂化。 OpenGL 可能没有真正的“相机”,但阳光下的每个开发人员都会确切地知道这个人在问什么。它甚至在网站上大声喊叫:opengl.org/archives/resources/faq/technical/viewing.htm 另外,他可能不想检查 gamedev.stackex,因为这是一个线性代数问题,它与 OpenGL 的关系比通用的 gamedev 更接近。请尝试真正帮助大家! @ OP,当使用简单的四边形完成时,您正在寻找的称为 Billboard,但对于任何对象,数学都是完全相同的。我不是这方面的专家,但我认为可以通过弄乱模型矩阵的旋转部分来完成。谷歌搜索广告牌应该可以进一步帮助您,例如:nehe.gamedev.net/article/billboarding_how_to/18011 @HenkDeBoer 这并不是说提问者不能使用“相机”这个词,只是如果他/她这样做了,那么他/她应该清楚这在他们的程序中意味着什么。她/他可以通过多种方式实现摄像头,但它们会导致不同的答案。 【参考方案1】:

将逆相机旋转矩阵应用于对象。

【讨论】:

以上是关于Java OpenGL - 如何使对象随相机旋转?的主要内容,如果未能解决你的问题,请参考以下文章

如何停止位置光随相机移动

如何在 C++ 中使用 sdl、opengl 移动相机时修复奇怪的相机旋转

在OpenGL中沿对象后面的方向旋转相机

如何使用 Glut 使相机飞过 OpenGL 中的对象?

OpenGL:相机和对象

如何使相机具有与对象相同的旋转但具有偏移(Unity)