java - 第三人称视角

标签 java libgdx

过去几天我一直在尝试在 libgdx 中制作第三人称相机,但似乎不知道该怎么做。我已经尝试过 PerspectiveCamera 中的rotateAround 函数,但是当我将相机移动到它应该遵循的模型后面时,旋转就会变得困惑。我现在不知道该尝试什么。我希望相机向后移动并位于模型上方并跟随它。如果有人能指出我正确的方向,我将不胜感激。

最佳答案

在游戏的渲染方法中,您想要更新摄像机以远距离跟随玩家,并且您还需要确保摄像机正在查看角色的正确位置,或者如果您想的话,就在前方获得过肩视角。

根据模型的规模,您可能需要考虑这些值。

在渲染循环中你想要这样的东西:

请注意,在此示例中,播放器是一个 Vector3,而 cam 是一个透视相机

这将使相机看着角色。您可能需要修改这些值以使其向前看(为此更改 x 和 z)。

cam.lookAt(player.x, 0,player.z);

这里我们设置相机的位置,这样我们就可以看到它始终漂浮在角色的后面和上方

cam.position.set(player.x,10f,player.y-20f)

这会更新相机以应用所有转换

cam.update();

关于旋转我不太确定,我没有尝试过。 Here这是一篇应该有帮助的文章。

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

相关文章:

java - 在intellij中,如何提取添加到列表并返回列表而不是使用列表作为参数的方法?

java - 从 JPA 实体查找用于 DDL 生成的 jpa-ddl-maven-plugin 时出错

java - 将 dom4j 文档写入 xml 文件并转义 '\r\n\'

java - LibGDX Box2D RayCast fatal error

android-studio - Libgdx:使用操作系统独立路径 'libgdx-freetype.dylib'找到了多个文件

java - 确定列表条目的类型

java - 如何从 Thymeleaf 调用对象的方法?

java - 在 libGDX 中作为动画运行时,不同大小的纹理区域会反弹

java - libGDX 围绕对象旋转

java - 在 libgdx 上暂停游戏时暂停计时器中的任务