Android 正交摄影机应使用什么样的摄影机视口宽度和高度

Android 正交摄影机应使用什么样的摄影机视口宽度和高度,android,libgdx,orthographic,Android,Libgdx,Orthographic,我是游戏编程和Libgdx的初学者。我真的很困惑应该使用什么样的摄影机视口大小。在一些文章中,我发现他们使用了480x800,这与目标设备大小相同。在一些文章中,我发现使用的仪表为5x5米 那么哪种方法更好,如何更好(如果你能提供一些好处的话)。 如果我对摄影机视口使用米单位,那么首先映射的是宽度还是高度 若我使用5x5米来测量480x800像素的设备,那个么世界的可视区域 高度=5米=480px和 宽度=800/480*5=8.33米 或 宽度=5米=800px和 高度=480/800*5=3

我是游戏编程和Libgdx的初学者。我真的很困惑应该使用什么样的摄影机视口大小。在一些文章中,我发现他们使用了480x800,这与目标设备大小相同。在一些文章中,我发现使用的仪表为5x5米

那么哪种方法更好,如何更好(如果你能提供一些好处的话)。 如果我对摄影机视口使用米单位,那么首先映射的是宽度还是高度

若我使用5x5米来测量480x800像素的设备,那个么世界的可视区域

高度=5米=480px和
宽度=800/480*5=8.33米

宽度=5米=800px和
高度=480/800*5=3米

它是否正确计算了可见世界的大小,并使用了第一个或第二个

我很困惑,当他们开始使用米的大小无处不在,而不是像素。像演员大小是1x1米,即使它只有64x64像素。我真的很难估计位置和大小


请链接任何关于相机和相机单位的好文章。

无论您指定什么尺寸,默认情况下它们都将映射到整个屏幕。如果纵横比不匹配,则显示的图形将被拉伸。因此,如果在非方形屏幕上将相机设置为5x5坐标系,而不更改绘图区域,则会严重失真。如果你在一个正方形的桌面窗口中渲染它,就可以了

使用较小的坐标系的优点是更容易计算,并且在游戏环境中可能更有意义-例如,正如您所说,您可以将它们视为米。在内容比屏幕上的确切位置更重要的情况下,它很有用,比如绘制游戏世界

在绘制UI时,使用与某些设备的分辨率匹配的较大坐标可能更有用。例如,如果以该分辨率为目标,可以看到每个图像的大小。(缩放可能会导致扭曲。)


但归根结底,这是一个偏好的问题。就我个人而言,我更喜欢较小的坐标系,所以我最近在20*12的坐标系中编写了我的水平选择菜单。(我在渲染
BitmapFont
时确实遇到了问题-它们不适合这样缩放。)其他人可能也更喜欢使用分辨率大小的坐标进行游戏渲染。重要的是,你应该确保你没有通过糟糕的纵横比来扭曲图形。

宽度尝试136,高度尝试204

我建议你阅读由andreas ohelke出版的电子书learning libgdx game development,该书由packt出版publications@Maverick我现在正在读那本书。但在某一点上,他似乎没有解释就跳过了。谢谢你提供的细节+你个人喜欢的。我明白了为什么5x5米视口在480x800中不会拉伸,因为在书中,他在
resize()
中计算了新的
viewport\u width=viewport\u height/height*width
。我错过了。谢谢。@NatwarSingh视口的重要部分是纵横比(IMHO),因为它影响游戏性。尺寸本身只对你的计算很重要,所以你应该选择最适合你的尺寸。最好是使用你在现实中拥有的东西(例如玩家是人类->2米高)。通过这样做,你只需要知道你想要播放器有多大,相对于屏幕,你有视口大小。好的,我明白了。一旦我使用了米,我必须以米为单位指定所有尺寸(原点、位置、偏移、大小等)。任何地方都不使用像素。是吗?@NatwarSingh是的,没错。通过这样做,您的游戏逻辑不再依赖于分辨率。@NatwarSingh和MPeti:您还应该注意到新的
Viewport
类,它在夜间版本中可用,并且将成为libgdx版本1.0的一部分。您可以在此处阅读有关它们的内容: