2016-02-29 83 views
3

我是初級程序員,也是Unity的新手。我目前正在使用Unity5練習hexgrid。我目前的hexgrid由平面的六邊形組成,它們具有草地或海洋2D紋理。 (Current hexgridUnity:紋理Hexgrid中的海岸線

我想在我的六邊形網格中有一個沙質海岸線(在有海洋地磚作爲相鄰地塊的草地地面磚上)。

我的問題是:什麼是最好的,最有效的方式來實現呢?

我想爲每個可能的岸邊做一個紋理,但是這大概有64種不同的紋理,取決於草地鄰居的多少海洋磚和從哪個方向。

我還需要沙漠和草原不吉利的東西和深海和淺海不吉利的東西之間的「模糊」紋理線,我不知道該怎麼做......

任何建議表示讚賞。謝謝!

回答

0

我認爲你應該只需要4或6個紋理。使用格子,你只能在陸地/海洋角落有兩種情況。海岸線正在形成半島(凸地/凹海)或峽灣(凹地/凸海)。

因此,從瓦片邊緣向內繪製海灘的兩個主要梯形紋理將覆蓋半島上的所有陸地海灘和峽灣上的所有海灘。

在相反的情況下,您只需要該紋理的小三角形延伸以填充梯形之間的間隙。

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

來源:我曾經試圖弄清楚半人馬座阿爾法星是如何通過分析紋理文件繪製其地形。我相當確定他們是這麼做的。

至於處理沙漠,草地,海角我相信他們首先混合陸地地形,然後覆蓋海岸線。

+0

您將海岸線看作凹凸的方式非常有趣,但它給我帶來了更多的問題和疑問。我猜這裏的梯形紋理就像1/2六邊形?那不是說我必須在一個網格上粘貼兩種不同的紋理嗎? – EpicCheese

+0

@EpicCheese爲了避免任何重疊,我會製作十六進制十六進制寬度的tapezoids。我已經添加了一個指向我的意思的鏈接。至於多個紋理。如果這是一個問題,我想你必須在將它們應用到網格之前將它們混合。 – Kempeth

+0

謝謝!這在一定程度上有所幫助。 – EpicCheese