瓷砖地图编辑器:等距离瓷砖边长的大小

4
在Tiled编辑器中有一个等角地图示例:"isometric_grass_and_water.tmx"。 这个示例展示了一个简单的等角地图,瓦片的大小为64x32像素。
我需要知道每个瓦片边的大小,所以我简单地使用勾股定理来计算: 在直角三角形ABC中,AC边长= width / 2 = 32,AB边长= height / 2 = 16。因此可以计算出瓦片的边(BC)长度为:
因此整个瓦片是一个边长为35.777的菱形。
然而当我添加一个尺寸为35.77 x 35.77的正方形对象到Tiled时,它不能适应网格(实际上比瓦片还要大)。但如果我添加一个尺寸为32 x 32的对象,它就完美地适应了。
请看一下这张图片(对象A是32x32,B是35.77x35x77):
这是怎么回事?Tiled是否使用了某种缩放,还是我的计算有问题?

“矩形B”的尺寸为35.77 x 35.77是如何确定的?在屏幕上它看起来像一个矩形——它的宽度应该大于高度,但你说它们相等。” - Jongware
它是等轴投影中的一个正方形(一颗菱形),边长为35.77。 - ovk
沿着边缘测量A和B之间的差异,我得到A的“106像素”和B的“119.85像素”。这些数字对我来说没有任何意义,除了它们的比率与32和35.77之间的比率完全相同(允许一些四舍五入误差)。这表明您应该以其预期大小绘制B:32x32像素。 - Jongware
这是因为地图被放大了(正如您可以在右下角看到的那样)。是的,我明白它看起来像是我必须绘制32x32的对象,但问题是 - 为什么?因为数学告诉我们要绘制35.77x35.77。 - ovk
根据维基百科,“等轴测”视频游戏并不是真正的等轴测,而是一种平行投影。也许这就是你注意到的差异所在。 - Jongware
1个回答

11
在等轴测模式下,对象被投影到等轴测透视图中。由于Tiled通常在正交模式下使用像素来表示对象的位置和大小,因此我选择使用一个虚拟像素网格来投影到等轴测平面上。该网格使用瓷砖高度作为瓷砖网格的细分数,因此宽度和高度均等于瓷砖高度的对象将恰好填充一个瓷砖。
非常抱歉这从未得到适当记录。一旦所有功能都到位,我会处理文档!

非常感谢您的解释,现在我明白了。 - ovk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接