【问题标题】:Unity: Texturing a Shoreline in a HexgridUnity:在 Hexgrid 中对海岸线进行纹理处理
【发布时间】:2016-06-12 16:50:59
【问题描述】:

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

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

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

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

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

感谢任何建议。谢谢!

【问题讨论】:

    标签: c# unity5 hexagonal-tiles texturing


    【解决方案1】:

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

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

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

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

    资料来源:我曾经试图通过分析纹理文件来弄清楚 Alpha Centauri 是如何绘制其地形的。我有理由相信他们就是这样做的。

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

    【讨论】:

    • 您将海岸线视为凸凹的方式很有趣,但它给我带来了更多的问题和问题。我猜这里的梯形纹理就像 1/2 hexas?那是不是意味着我必须在一个网格上粘贴 2 种不同的纹理?
    • @EpicCheese 我将 Tapezoids 设为十六进制宽度的 1/4,以避免任何重叠。我已经添加了一个插图的链接我的意思。至于多重纹理。如果这是一个问题,我猜你必须在将它们应用到网格之前混合它们。
    • 谢谢!这在一定程度上是有帮助的。
    猜你喜欢
    • 2013-12-23
    • 2018-04-27
    • 2015-11-15
    • 1970-01-01
    • 2016-08-22
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    相关资源
    最近更新 更多