2 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
sizeof除非您在unsafe上下文中,否則僅適用于預(yù)定義的類型。從參考sizeof:
下表顯示了替換具有某些內(nèi)置類型作為操作數(shù)的 sizeof 表達(dá)式的常量值。[...] 對(duì)于所有其他類型,包括結(jié)構(gòu)體,sizeof 運(yùn)算符只能在不安全的代碼塊中使用。
所以把你的電話包裝成unsafe這樣:
int sizeOfVertexData;
unsafe
{
sizeOfVertexData = sizeof(VertexData);
}
您還必須啟用不安全代碼。在 Unity 中,它顯然是一個(gè)復(fù)選框。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以通過添加每個(gè)屬性大小來計(jì)算結(jié)構(gòu)的總大小。
Vector3 相當(dāng)于 3 個(gè)浮點(diǎn)數(shù)。Vector2 相當(dāng)于 2 個(gè)浮點(diǎn)數(shù)。
//int stride = sizeof(position) + sizeof(normal) + sizeof(uv)
//int stride = sizeof(Vector3) + sizeof(Vector3) + sizeof(Vector2)
int stride = sizeof(float) * 3 + sizeof(float) * 3 + sizeof(float) * 2
你不需要不安全的東西。
- 2 回答
- 0 關(guān)注
- 284 瀏覽
添加回答
舉報(bào)