等距地形

  • 本文关键字: terrain isometric
  • 更新时间 :
  • 英文 :


我正在尝试制作一个等距地形编辑器。我的问题不是制作等距图形或渲染它们,而是与索引瓷砖有关。

假设我在(10,5)处建一座小山。这就意味着贴图(10,5)的类型是角_1,贴图(11,5)的类型是角_2,贴图(10,6)的类型是角_3,贴图(11,6)的类型是角_4。这将在四个贴图的中间创建一个峰值。

开始似乎很简单,但有很多可能性。如果我们有两座小山相互交叉,我们就需要倒角瓦片。如果我们有一个对角线山,周围的瓷砖将需要变成对角线倒角瓷砖。我已经为瓷砖http://opengameart.org/content/simple-iso-city-work-in-progress创建了大多数图像。我的问题是,是否已经存在一套我可以遵循的"规则",即地形如何根据周围地形进行自我调整?还是需要我自己算出所有的组合?

如果你想知道组合的数量,你必须考虑你的相关领域的邻域和那里潜在的不同元素。

假设你有4个邻居和两种瓷砖类型(0和1),那么组合的数量是16:每个相邻单元格可以具有与中心单元格相同的字段类型(类型1)或其他类型(0)。

<>之前中心型|北|东|西|东1 | 0 | 0 | 0 | 01 | 1 | 0 | 0 | 01 | 0 | 1 | 0 | 01 | 1 | 1 | 0 | 01 | 0 | 0 | 1 | 0(…)1 | 0 | 0 | 1 | 11 | 1 | 0 | 1 | 11 | 0 | 1 | 1 | 11 | 1 | 1 | 1 | 1 | 1之前

你现在可能会看到这实际上是二进制计数。如果你有8个邻居,你可能已经猜到了,你会有256种不同的组合。这当然很多…你可以通过镜像案例得到这个数字,但在你的链接所指向的阴影环境中,这通常看起来不那么好。

如果你有更多的瓷砖类型来组合(沙漠/草/石头),那么组合的数量是(类型的数量)^(邻居计数),所以对于3个瓷砖类型和4个邻居单元,你将有3*3*3*3 = 81个案例。如果你有不同的高度级别(比如2),你基本上就会将类型的数量翻倍,所以它将是6*6*6*6 = 1296。

你可能不想(手动)做这个。你可以考虑在3d中对贴图进行建模和纹理,并将其呈现在地图集上,并根据游戏风格进行一些后期效果过滤(调色板)。对于像这样的像素化游戏来说,数据量并不是那么糟糕。纹理会非常大,但我相信2000年的游戏有时会这样做。(如果你的贴图大小是32x24,你有1296个贴图,你需要大约一百万像素的空间,这大约是1024x1024纹理所能容纳的)

相关内容

  • 没有找到相关文章

最新更新