C# 建造半个球体,我在顶端有一个洞。如何设置三角形?

C# 建造半个球体,我在顶端有一个洞。如何设置三角形?,c#,unity3d,geometry,C#,Unity3d,Geometry,我正在建造一个圆顶,它非常棒,只是我不知道在设置三角形时如何连接顶部最后的顶点。顶点如下所示: for (int i=0; i<scalex; ++i) { for (int j=0; j<scaley; ++j) { verticesSky[i*scaley+j].x=radius*Mathf.Cos(j*2*M_PI/scaley)*Mathf.Cos(i*M_PI/(2*scalex));

我正在建造一个圆顶,它非常棒,只是我不知道在设置三角形时如何连接顶部最后的顶点。顶点如下所示:

for (int i=0; i<scalex; ++i) {
            for (int j=0; j<scaley; ++j) {
                verticesSky[i*scaley+j].x=radius*Mathf.Cos(j*2*M_PI/scaley)*Mathf.Cos(i*M_PI/(2*scalex));
                verticesSky[i*scaley+j].y=radius*Mathf.Sin(i*M_PI/(2*scalex));
                verticesSky[i*scaley+j].z=radius*Mathf.Sin(j*2*M_PI/scaley)*Mathf.Cos(i*M_PI/(2*scalex));
            }
        }

对于(int i=0;i最上面的三角形没有显示,我在顶部得到了一个洞。我通过手动在中间添加一个顶点并将其与邻居连接来修复它。无论如何,谢谢大家!

请使用unity3d标记。你能添加一个屏幕截图吗?
for (int i=0; i<scalex-1; ++i) {
            for (int j=0; j<scaley; ++j) {

                trianglesSky[ind++] = i*scaley+j;
                trianglesSky[ind++] = i*scaley+(j+1)%scaley;
                trianglesSky[ind++] = (i+1)*scaley+(j+1)%scaley;

                trianglesSky[ind++] = i*scaley+j;
                trianglesSky[ind++] = (i+1)*scaley+(j+1)%scaley;
                trianglesSky[ind++] = (i+1)*scaley+j;
            }
        }