2010-06-14 60 views
0

我想構建炮塔,它可以在所有軸上旋轉。因此,底座可以在Y軸上旋轉,X/Z軸上的槍筒根據實際的Y值旋轉,就像常規炮塔一樣,它有半球底座和筒體。在簡單的DirectX中執行此操作的最佳方法是什麼? (我沒有使用任何準備好的包,因爲我想刪除它不只是使用它)。在DirectX C++中更改錨點

我認爲最好的辦法是將底座和槍身製成單獨的模型,然後旋轉它們。

我認爲有更好的解決方案,因爲在太空射擊遊戲這樣的大型遊戲中,您可以在一次戰鬥中看到炮塔,而且有相當大的效果等等,所以我認爲這可能會稍微減慢?

回答

0

我不是模型構建....採取什麼我半信半疑說......

,您仍然可以使整個轉動架一個模型,但槍管可以連接到自己的模型內的骨頭。這只是提供具有多次旋轉的模型的簡單方法(即,將整個東西圍繞Y旋轉,然後向上/向下旋轉桶)。

至於大型比賽,技巧往往可以減少旋轉次數。例如,任何向上關閉的細節都可以呈現完整的細節,而遠處的細節可以避免呈現所有細節,因爲它可能只渲染到屏幕上的單個像素。