我正在尋找將生成低聚樹的算法或產品。語言無關緊要。我搜遍了各地,有很多「樹生成」算法,但它們迎合了更現實的樹,而不是相反。程序化生成低聚樹
這裏是樹的我期待動態生成的類型:
即使只是算法來生成斑點,看起來像樹的頂部將是有益的。
我正在尋找將生成低聚樹的算法或產品。語言無關緊要。我搜遍了各地,有很多「樹生成」算法,但它們迎合了更現實的樹,而不是相反。程序化生成低聚樹
這裏是樹的我期待動態生成的類型:
即使只是算法來生成斑點,看起來像樹的頂部將是有益的。
我已經整合了一些東西。它使用Quickhull算法生成實體,在網絡中很容易解釋和發現。
這將生成輸入點的Convex Hulls。所以我隨機生成樹形內的點。
然後,在生成blob後,我可以相應地調整頂點來調整法線。需要注意的是,要讓對象呈現出您需要的「低聚」外觀,確保每個三角形都有自己的頂點和法線,並且三角形上的三個都是相同的。
這個解決方案是穩固的1.0,只允許一個樹塊,但它目前我正在使用,並在任何感興趣的資產商店。 Low Poly Tree Generator
嘗試使用任何可用的現有系統,同時調整參數以減少三角形數量。
否則......
通用L-system將有助於程序廠代(不僅是樹)。
如果您具體詢問如何合併樹葉,可以在節點周圍生成isosurfaces並使用marching cubes進行評估。 可以從頭開始或腳本化,但任何一種方式都是重要的工作。
作爲iso-surfaces的更便宜的替代方法,您可以通過修改預生成的基元快速獲得結果。我可能會生成一些icospheres(使用L系統的數據)並使用額外的分支數據來縮放和變形它們。 這不僅更便宜(節省工作時間,讓您的iso表面正確),而且還可以更快地執行,並讓您直接控制葉面拓撲。
一旦你有你的blobby形狀,隨機座標給予有機的外觀。
有趣的問題,這裏有一個想法,你可以生成從ico球開始的樹頂部和隨機改變它的頂點位置,你可以從建模軟件或從Unity [使用此腳本](http://wiki.unity3d.com/index.php/CreateIcoSphere) – nexx 2015-04-01 07:45:05
您可以在遊戲開發SE網站上找到更多答案:http://gamedev.stackexchange.com/ – rhughes 2015-04-02 01:52:07
我可能有興趣挑選此如果你需要幫助的話。 pm'eelstork'在團結論壇上。 – 2015-04-02 03:41:50