统一:在六角网格中纹理海岸线

本文关键字:网格 六角 纹理 海岸线 统一 | 更新日期: 2023-09-27 18:36:47

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

我想在我的六角网格中有一个沙质海岸线(在草原瓷砖上,将海洋瓷砖作为相邻的瓷砖)。

我的问题是:实现这一点的最佳、最有效的方法是什么?

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

我还需要在沙漠和草原六角形以及深海和浅海六角形之间"模糊"的纹理线,我不知道该怎么做......

任何建议不胜感激。谢谢!

统一:在六角网格中纹理海岸线

我认为你应该只需要 4 或 6 个纹理。使用十六进制,您在陆地/海上角落只能有两个场景。海岸线正在形成半岛(凸地/凹海)或峡湾(凹地/凸海)。

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

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

这就是我的意思:https://i.stack.imgur.com/3OsY7.jpg

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

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