在运行时在Blender中拼接地形块

背景

我在Unity 3D 5游戏中使用搅拌机内的几个单独的地形砖。 每个瓷砖是正方形的,并被用来代表一个世界的一部分。 在游戏中,瓷砖被随机select并放置在彼此之间。 但是这些瓷砖并不总是具有相配的边。

为什么瓷砖

为了允许更多的地形雕刻的可能性,如洞穴,精密放置的地标等,但仍允许程序上产生的感觉; 随机放置的静态瓷砖被使用。

有山砖,有平面砖。 山地砖的地形比较偏远,大多与其他山地砖相邻,以形成更大的山峰。 平面砖相似地放置在其他平面砖旁边。

游戏是“低聚”,地形也是如此。 这使得在同一高度的每块瓷砖上都很难有平整的边,以便于“拼接”。

具体的问题

我怎样才能匹配这些边缘运行时,以确保没有可见的瓷砖边缘?

Solutions Collecting From Web of "在运行时在Blender中拼接地形块"

你可能会考虑像王瓷砖 。 这个想法是,你有一个预定的边缘瓷砖。 只要边缘匹配,就可以随机生成切片。

例如,你可能有4个可能的方面:

  • A:低地形
  • B:中部地形
  • C:高地形
  • D:水

你可以通过随机select4个边来生成第一个图块。 右边的瓦片必须与第一个瓦片具有相同的边缘,但是其他三边可以随机select。 在下一行,你必须匹配双方,但其他2可以随机select,等等。

您可以使用4种以上的边缘。 这只是一个例子。

你可以做一些很酷的事情,如果你允许瓷砖重叠一点,然后内插位重叠。 对于重叠的部分,您需要计算每个瓦片对整体高度的贡献(重量),我将其称为H(x,y)。 然后,当你抽样H(x,y)时,你会发现每个瓦片都与这个点重叠并且加权这些瓦片的加权局部高度。 我已经做了一个快速的图表,我希望更详细地解释这一点,每个有色的H(x,y)代表特定瓦片的高度图,而x和y仍处于绝对的世界坐标中。

在这里输入图像说明