2012-07-02 65 views

回答

5

您需要根據整數或字節操作製作自己的Vector3結構。這是完全可能的,因爲沒有一個「內置」Vector3(框架中有多個3D矢量實現)。

但是,如果您打算在框架API調用中使用它,則需要轉換爲框架版本。

3

您可以製作自己的Vector3或使用Tuple

但是,如果您打電話預期爲Vector3,他們將而不是預計您的類型。在這種情況下,您必須使用標準Vector3

+0

請注意,框架Tuple類型都是類,而不是結構。根據目標,這可能不合適...... –

1

正如已經指出的那樣,您不能更改任何現有類型(包括Vector3d)爲其成員使用不同的類型(除非它是通用的並且旨在這樣做)。您需要自行創建(確保知道classstruct之間的差異)。

如果關注績效,您需要針對您的具體情況嘗試並認真衡量 - 這種變化是否會帶來顯着的節省是非常不明確的。

將float更改爲int將不會給您節省空間,並且可能會使計算複雜化(例如,1.5 * 1.5在浮點型中很容易,而如果使用縮放型int,則需要額外的操作15 * 15/100和sin/cos用於旋轉也許不能很好地工作)。

將浮點數更改爲字節將爲您節省空間,但數學將更加複雜,並且始終強制將所有操作轉換爲int。