【问题标题】:Whats the best way to implement and design walls in an isometric tile game?在等距瓷砖游戏中实现和设计墙壁的最佳方式是什么?
【发布时间】:2012-07-14 08:45:16
【问题描述】:

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

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

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

示例图

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

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

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

【问题讨论】:

    标签: 3d isometric


    【解决方案1】:

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

    如果您担心做薄墙的能力,只需确保您的瓷砖尺寸足够小。您的游戏牌不需要遵循在地板上绘制的图案,例如现实生活中的地砖可能由 2x2 游戏砖组成。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 渲染顺序对问题并不重要。我正在寻找的是如何用最少的墙体设计图形,而不会出现大洞,但仍能获得等距游戏所具有的统一外观。仅用 1 块就不可能创建 4 个围墙而不重叠,因此我的问题是:它是如何完成的?
      • 这是另一个插图来说明我的问题:freeimagehosting.net/bv62d 数字代表预期的draworder,但正如您所见,它并没有给我想要的结果。
      猜你喜欢
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      相关资源
      最近更新 更多