Как я могу заставить мои столкновительные самолеты забрать больше чем 1 самолет из файла obj - PullRequest
0 голосов
/ 22 сентября 2019

Здравствуйте, я новичок в создании 3D-игр, и теперь мне интересно, как я могу заставить этот код хранить больше коллизий.Я пробовал делать более одного класса столкновений, и это не сработало.Таким образом, этот код находится в операторе if, чтобы проверить, является ли это гранью, и является ли она гранью, а coll - это истина (coll - это истина, если он находит материал с именем collision), тогда этот код выполняется.

if(coll==true && collplane!=NULL)
            {
            sscanf(coord[i]->c_str(),"f %d//%d %d//%d %d//%d %d//%d",&a,&b,&c,&b,&d,&b,&e,&b);
            collplane->push_back(cPlane(normals[b-1]->x, normals[b-1]->y, normals[b-1]->z,
                                        vertex[e-1]->x, vertex[e-1]->y, vertex[e-1]->z,
                                        vertex[d-1]->x, vertex[d-1]->y, vertex[d-1]->z,
                                        vertex[c-1]->x, vertex[c-1]->y, vertex[c-1]->z,
                                        vertex[a-1]->x, vertex[a-1]->y, vertex[a-1]->z ));
            std::cout << "getting collisionplanes..." << std::endl;
            }

и затем это.

cPlane::cPlane(float n1,float n2,float n3,
           float a, float b, float c,
           float d, float e, float f,
           float g, float h, float i,
           float j, float k, float l)
{
normal.change(n1, n2, n3);
p[0].change(a, b, c);
std::cout << p[0] << std::endl;
p[1].change(d, e, f);
p[2].change(g, h, i);
p[3].change(j, k, l);
}

примечание: если вам интересно что-нибудь, пожалуйста, спросите.

примечание: я готов изменить этот код, если это поможет, спасибо.

...