Unity:在 Hexgrid 中纹理化海岸线

Unity: Texturing a Shoreline in a Hexgrid

我是一名初级程序员,也是 Unity 的新手。我目前正在使用 Unity5 练习 hexgrid 构建。我当前的六边形网格由平坦的六边形组成,它们具有草原或海洋 2D 纹理。 (Current hexgrid)

我想在我的六边形网格中有一条沙质海岸线(在以海洋瓷砖作为相邻瓷砖的草原瓷砖上)。

我的问题是:什么是最好、最有效的实现方式?

我想为每个可能的海岸瓷砖制作一个纹理,但这将是大约 64 种不同的纹理,具体取决于草地相邻的海洋瓷砖数量以及从哪个方向。

我还需要 "blurry" 沙漠和草原格子以及深海和浅海格子之间的纹理线,但我不知道该怎么做...

如有任何建议,我们将不胜感激。谢谢!

我认为你应该只需要 4 或 6 个纹理。使用六边形,您只能在 land/sea 角有两种情况。海岸线要么形成半岛(凸land/concave海),要么形成峡湾(凹land/convex海)。

因此,从瓷砖边缘向内绘制海滩的两个主要梯形纹理将覆盖半岛上的所有陆地海滩和峡湾上的所有海滩。

在相反的情况下,您只需要该纹理的一个小三角形延伸来填充梯形之间的间隙。

这就是我的意思:http://imgur.com/08qlJMy

来源:我曾经试图通过分析纹理文件来弄清楚半人马座阿尔法星是如何绘制它的地形的。我有理由相信他们就是这样做的。

至于处理沙漠,草地,海角我相信他们首先混合了陆地地形然后覆盖了海岸线。