LIBGDX / OpenGL:缩小所有内容的大小

LIBGDX / OpenGL : Reducing the size of everything

这可能是有史以来最糟糕的问题,但这将是一个很酷的成就。

我创建了一个由 1x1x1 立方体组成的 3D 世界(想想 Minecraft),所有数学运算都很棒等等。但是 1x1x1 几乎填满了整个屏幕(可视区域)

有什么方法可以更改 ViewPort 或其他东西,使 1x1x1 的大小是当前大小的一半?

相机设置代码

 float aspectRatio = Gdx.graphics.getWidth() / Gdx.graphics.getHeight();
 camera = new PerspectiveCamera(67, 1.0f * aspectRatio, 1.0f);

 camera.near = 0.1f; // 0.5 //todo find out what this is again
 camera.far = 1000;
 fps = new ControlsController(camera , this, stage);

我正在使用 FirstPersonCameraController 和 PerspectiveCamera 尝试制作第一人称游戏

我猜问题是:

camera = new PerspectiveCamera(67, 1.0f * aspectRatio, 1.0f);

您的相机的标准初始化可能是(基于 this tutorial):

camera = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
// ...

请注意相机的宽度和高度如何接近(如果不相同)原生 gdx window 尺寸的宽度和高度。在您的情况下,您将此大小设置为 1(与网格大小相同)。尝试使用更大的视口尺寸让您的网格更小(透视),例如:

/** Not too sure since is a perspective view, but play with this values **/
float multiplier = 2; // <- to allow your mesh be a fraction
                      //    of the size of the viewport of the camera
camera = new PerspectiveCamera(67, multiplier  * aspectRatio, multiplier );