2015-03-31 28 views
17

我正在尋找將生成低聚樹的算法或產品。語言無關緊要。我搜遍了各地,有很多「樹生成」算法,但它們迎合了更現實的樹,而不是相反。程序化生成低聚樹

這裏是樹的我期待動態生成的類型: Low poly examples

即使只是算法來生成斑點,看起來像樹的頂部將是有益的。

+0

有趣的問題,這裏有一個想法,你可以生成從ico球開始的樹頂部和隨機改變它的頂點位置,你可以從建模軟件或從Unity [使用此腳本](http://wiki.unity3d.com/index.php/CreateIcoSphere) – nexx 2015-04-01 07:45:05

+0

您可以在遊戲開發SE網站上找到更多答案:http://gamedev.stackexchange.com/ – rhughes 2015-04-02 01:52:07

+0

我可能有興趣挑選此如果你需要幫助的話。 pm'eelstork'在團結論壇上。 – 2015-04-02 03:41:50

回答

3

我已經整合了一些東西。它使用Quickhull算法生成實體,在網絡中很容易解釋和發現。

這將生成輸入點的Convex Hulls。所以我隨機生成樹形內的點。

然後,在生成blob後,我可以相應地調整頂點來調整法線。需要注意的是,要讓對象呈現出您需要的「低聚」外觀,確保每個三角形都有自己的頂點和法線,並且三角形上的三個都是相同的。

這個解決方案是穩固的1.0,只允許一個樹塊,但它目前我正在使用,並在任何感興趣的資產商店。 Low Poly Tree Generator

0

嘗試使用任何可用的現有系統,同時調整參數以減少三角形數量。

否則......

通用L-system將有助於程序廠代(不僅是樹)。

如果您具體詢問如何合併樹葉,可以在節點周圍生成isosurfaces並使用marching cubes進行評估。 可以從頭開始或腳本化,但任何一種方式都是重要的工作。

作爲iso-surfaces的更便宜的替代方法,您可以通過修改預生成的基元快速獲得結果。我可能會生成一些icospheres(使用L系統的數據)並使用額外的分支數據來縮放和變形它們。 這不僅更便宜(節省工作時間,讓您的iso表面正確),而且還可以更快地執行,並讓您直接控制葉面拓撲。

一旦你有你的blobby形狀,隨機座標給予有機的外觀。