2010-02-07 59 views
0

我想編寫一個應用程序,讓用戶自定義一些3d對象,通過組合現有的對象來創建新的對象。例如,如果用戶想要改變房屋的屋頂,他應該選擇一個新的屋頂(其他現有的屋頂物體),並且整個模型(整個房屋)將被更新。我沒有找到任何方法來編程實現這種合併,所以替代方法是對每個對象組合進行3D建模,即使對於少量的可自定義選項也是不切實際的。如何以編程方式合併和渲染3D模型?

你知道任何方式來實現這種動態合併?

非常感謝。

回答

1

爲什麼不把房子的每個可定製部分都作爲模型存儲?在你的例子中,將會有一個沒有屋頂的房屋模型,所有可能屋頂的模型,然後當你需要一個完整的房子時,你繪製了一個沒有屋頂+用戶選擇的屋頂的房子。

+0

當然,這正是我想要實現的,但是......我如何從兩個不同的3D模型以編程方式創建一個新的3D模型? –

+0

爲什麼你需要它完全是一個「模型」,無論你的意思是什麼?你爲什麼不寫一個名爲「CComposition」的類,它會接受一系列模型(房子本身及其部分)並逐一繪製它們? 無論如何,如果您確實需要合併模型(即保存),而不僅僅是渲染合併模型,則至少需要指定模型的存儲格式。或者別人怎麼會知道... – himself

+0

好吧,我道歉,也許我沒有解釋我自己。我的目標是定製一個對象(這就是我說的「模型」的意思),它由一些其他對象組成(同樣是其他一些模型)。 「模型」是3D模型文件(例如,3DStudioMax或「obj」文件)。所以,問題是......我怎樣才能將這些模型動態合併爲一個模型?如何在模型或合併過程中指定交接點?你知道提供這種功能的任何api(我正在使用Java)嗎? 非常感謝! –