3d瓷砖(和2d精灵)的等距渲染

时间:2013-09-08 05:53:04

标签: java android libgdx

我对libgdx和图形一般都是新手,所以请原谅我,如果我不是很了解的话。

我在关于Isometric Tilemap Rendering的badlogicgames块上遵循了教程。我已经成功实现了帖子中讨论的所有内容,但是我有一些问题需要解决,我需要提出一些问题。

  1. 我想渲染具有两个维度的图块(可能是一个三维模型,但可能只是一个纹理)。为实现这一目标,我可以做些什么?教程中的步骤是否适用于此?

  2. 我还想在瓷砖顶部渲染人物(精灵或三维模型),这样他们看起来就像瓷砖中心完全没有等角度(平面在屏幕上) 。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

我通过寻找相同的东西偶然发现了这一点,我可以分享我所学到的东西,因为实际上没有太多关于此的信息。

首先,等距渲染对象和角色是最好的方法。由于您可能需要8个甚至16个维度,因此角色可以进入。因此,如果您的步行周期仅包含4个帧,则您需要花费几周的时间来完成。如果您希望等轴测图旋转并具有固定的太阳位置,则为四倍。关于这一点真的没有多少,你甚至不需要相机完美。

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

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

有很多资源可以为您提供相机和渲染设置。对于2:1效果,相机需要成60度角。在3Ds Max中,您需要激活视口上的安全帧,并使用相机控件将对象放置在需要渲染的位置。没有必要担心空白区域,因为大量纹理打包器会自动删除它。