2

一般来说,我对 libgdx 和图形非常陌生,所以如果我理解不正确,请原谅我。

我按照有关Isometric Tilemap Rendering的 badlogicgames 块的教程进行操作。我已经成功地实现了帖子中讨论的所有内容,但是我有一些我正在尝试解决的问题以及我需要提出的问题。

  1. 我想渲染二维的瓷砖(可能是 3d 模型,但可能只是纹理)。为了实现这一目标,我可能需要做些什么不同的事情?本教程中的步骤是否有助于此?

  2. 我还想在图块顶部渲染字符(精灵或 3d 模型),这样它们看起来就像它们在图块中心根本不是等距的(在屏幕上是平的)。我怎么能做到这一点?

4

1 回答 1

0

我通过寻找相同的东西偶然发现了这一点,我可以分享我所学到的东西,因为关于这方面的信息确实不多。

首先,等距渲染对象和角色是最好的方法。因为你可能需要 8 甚至 16 维才能让角色走进去。所以如果你的行走周期只包含 4 帧,那么你有几个星期的时间来绘制。如果您希望等轴测图旋转并具有固定的太阳位置,则四倍。这真的没什么,你甚至不需要拥有完美的相机。

对于需要彼此完美排列的瓷砖,这是一个完全不同的故事。我已经在 3Ds max 中尝试过很多次,但要获得完美的 2:1 效果非常乏味。这是因为像素网格,您的 3D 对象将被转换为像素并捕捉到该网格。因此,您可能有一堵 64 个单位高的墙,其 2:1 的外观看起来很尴尬。您可以以 0.1 的增量调整该墙以纠正 2:1 的外观。但是你必须对那面墙上的每条直线都这样做。

似乎没有办法使用任何类型的抗锯齿来纠正这个问题。如果您要重叠抗锯齿图像,它将在边缘变暗(如果在明亮的背景下渲染,则变亮)。这显然是因为抗锯齿像素是透明的,并与它后面的精灵混合在一起。我正在寻找的一种解决方案是创建一种混合模式来否定或消除这种效果。但在我一直试图把这一切做好的时候,我本来可以用手画所有的墙。

有很多资源可以为您提供相机和渲染设置。摄像机需要倾斜 60 度才能获得 2:1 效果。在 3Ds Max 中,您需要在视口上激活安全帧并使用相机控件将对象放置在需要渲染的位置。无需担心空白,因为大量纹理打包程序会自动删除它。

于 2015-12-11T23:55:11.273 回答