我正在建造一个圆顶,它很棒,只是我不知道在设置三角形时如何连接顶部的最后顶点。顶点如下:
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));
}
}
三角形设置:
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;
}
}
再次,顶部顶点不与其邻居连接,我在尖端有一个洞。
答案 0 :(得分:0)
最顶部的三角形没有出现,我在顶部有一个洞。我通过手动在中间添加一个顶点并将其与邻居连接来修复它。不管怎样,谢谢你们!