11

我正在考虑在哪里应用这个解决方案的游戏,是一个可以更改图块的游戏,有点像编辑器。您将需要为 2 种类型的墙壁制作图形:朝西和朝东或朝北/朝西。

在等距瓷砖游戏中,似乎有两种方法可以设置墙壁:

  • 将它们稍微画在图块之外(《模拟人生 1》、《主题医院》、《铁血联盟 2》、《僵尸计划》)
  • 将它们设为 1x1(tile) 大并将它们绘制在自己的 tile 上(Ultima 8,每个 rougelike)

示例图

第二种方法似乎是最简单的方法。由于墙壁占据了整个瓷砖,您不必担心重叠到地砖中并且必须围绕其设计图案。但是,如果您想制作与网格不同大小的图案,您确实会遇到另一个问题。就像你想拥有相当纤薄的墙壁一样。然后,您的网格也需要更大。从好的方面来说,只需要 1 个墙片。

第一种方法需要一些代码来检测墙外的变化以进行绘制,并且可能看起来有点奇怪,除非围绕它设计地砖。它还需要至少 4 件。

哪种方法是解决此问题的首选方法,为什么?

4

2 回答 2

1

我建议从最远的对象开始渲染并以最近的对象结束 - 这样你可以获得一个简单的不变量:靠近相机的对象可以覆盖更远的对象(如现实生活中一样)

替代方案:您可以使用对象的“Z”坐标中的细微差别来让深度缓冲区发挥作用——如果使用深度缓冲区,则渲染顺序无关紧要,但最好从最近的开始——这样渲染的texelcount 可以更低

于 2012-07-14T08:58:40.627 回答
1

我会选择第二种选择,让墙占据自己的瓷砖。这是最容易实现的,并且需要艺术家的工作更少。

If you're worried about the ability to do thin walls, just ensure that your tile size is small enough. Your game's tiles don't need to follow the pattern that is drawn on the floor, e.g. a real-life floor tile could consist of 2x2 game tiles.

于 2012-07-14T09:00:37.467 回答