2015-04-07 73 views
2

假設您想讓用戶創建由組件組成的2D飛艇(側視圖)。一個組件可以是浮動氣球,另一個組件可以是儲藏室等。由組件組成的遊戲對象的2D物理效果

並且說你想讓這個飛艇將物理應用到整體上,每個組件都在其中扮演一個角色。例如,氣球會從其下壓力中消失,而其他隔間會對其施加壓力。與此同時,整個飛艇作爲一個整體工作(或者至少唯一的物理分離將在浮體組件和其他應用重量的物體之間),所以物理學被應用於它,就好像它是一個物體一樣。

現在,如何管理?我如何通過腳本自定義遊戲對象,爲其賦予不同重量的不同組件,並使它像一個預製對象那樣工作?

對不起,如果問題很簡單,但我只是開始統一。非常感謝你!

TL; DR:可定製的飛艇gameobject與不同的組件,具有不同的權重。如何使其表現爲單個物理實體並管理其不同組件?

回答

1

我不確定我完全理解了這個問題:D 你的意思是有一個遊戲對象,有一些兒童遊戲對象,每個對象都有單獨的對撞機和剛體,而剛體物理應用於父遊戲對象?您可以爲此目的使用聯合對撞機(如HingeJoint2D),並將父級的剛體設置爲ConnectedRigidBody。 (而不是單詞「component」,使用child或part或sth來避免歧義)。因爲Unity3D中的組件是類似於腳本,剛體,對撞機等與遊戲對象相連的組件。)

+0

我認爲轉換父母是我正在尋找的。實際上有趣的是,除了官方文檔外,關於如何在網絡上處理這種系統(複雜的二維對象和父母教育)的信息並不多。 – marcospgp

+1

您也可以使用關節。我不認爲你的情況只能通過轉換父母來解決。例如,如果您的父母有一個剛體和一個孩子與另一個剛體,孩子的物理獨立工作(即,孩子不影響父母,如果是熱氣球,氣球部分會上升身體仍然會下降),除非你將它們與關節之類的東西連接起來。 –

+0

是的,爲飛艇的底部做父母,並通過關節連接到浮動部分:) – marcospgp