我正在用 C# 编写一个简短的脚本来统一创建一个立方体。一切都工作正常,直到我弄乱了所有立方体点和东西。
private Vector3[] GenerateVerts()
{
return new Vector3[]
{
// bottom x y z
new Vector3( 1, -1, -1),
new Vector3( 1, 1, -1),
new Vector3(-1, 1, -1),
new Vector3(-1, -1, -1),
// top
new Vector3( 1, -1, 1),
new Vector3( 1, 1, 1),
new Vector3(-1, 1, 1),
new Vector3(-1, -1, 1),
// left
new Vector3(-1, -1, 1),
new Vector3(-1, -1, -1),
new Vector3(-1, 1, 1),
new Vector3(-1, 1, -1),
// right
new Vector3( 1, -1, 1),
new Vector3( 1, -1, -1),
new Vector3( 1, 1, 1),
new Vector3( 1, 1, -1),
// front
new Vector3( 1, -1, -1),
new Vector3(-1, -1, -1),
new Vector3( 1, 1, -1),
new Vector3(-1, 1, -1),
// back
new Vector3( 1, -1, 1),
new Vector3(-1, -1, 1),
new Vector3( 1, 1, 1),
new Vector3(-1, 1, 1),
};
}
private int[] GenerateTris()
{
return new int[]
{
//bottom
0,1,2,
0,2,3,
//top
4,5,6,
4,6,7,
9,10,11,
8,10,9,
12,13,15,
14,12,15,
16,17,19,
18,16,19,
21,22,23,
22,20,23
};
}
我很困惑,发现很难将所有内容排列起来,这样说吧。
在你的generateverts函数中我认为你做错了:
这些是你的底部顶点:
“”“
// bottom x y z
new Vector3( 1, -1, -1),
new Vector3( 1, 1, -1),
new Vector3(-1, 1, -1),
new Vector3(-1, -1, -1),
// top
new Vector3( 1, -1, 1),
new Vector3( 1, 1, 1),
new Vector3(-1, 1, 1),
new Vector3(-1, -1, 1),
“”“
而且我认为它们的正面和背面是一样的
“”“
// front
new Vector3( 1, -1, -1),
new Vector3(-1, -1, -1),
new Vector3( 1, 1, -1),
new Vector3(-1, 1, -1),
// back
new Vector3( 1, -1, 1),
new Vector3(-1, -1, 1),
new Vector3( 1, 1, 1),
new Vector3(-1, 1, 1),
“”“
这正常吗?