Pues, con lo de moverme hacia ellas, me refiero a que, cuando avanzas hacia un objeto, choques y no lo puedas atravesar, pero teniendo un vector de dirección especifico para cuando estás colisionando y deslizarte por la cara.
El codigo de detección es algo así:
El codigo de detección es algo así:
Código (cpp) [Seleccionar]
bool Colision_Pj_Objeto(int IdObjeto){
pj.bounding.Crear(pj.bounding.Tipo,0);
objeto[IdObjeto].bounding.Crear(objeto[IdObjeto].bounding.Tipo,IdObjeto);
for(int i=1;i<9;i++){
if(Colision_Punto_ABCD(pj.bounding.vx[i],pj.bounding.vy[i],pj.bounding.vz[i],IdObjeto) == true) return 1;
}
return 0;
}
bool Colision_Punto_ABCD(float p_x,float p_y,float p_z,int IdObjeto){
//if(objeto[IdObjeto].usado == true){
if(p_x >= objeto[IdObjeto].bounding.vx[1] && p_x <= objeto[IdObjeto].bounding.vx[3] &&
p_y >= objeto[IdObjeto].bounding.vy[2] && p_y <= objeto[IdObjeto].bounding.vy[1] &&
p_z >= objeto[IdObjeto].bounding.vz[5] && p_z <= objeto[IdObjeto].bounding.vz[1])
{
return true;
}
return false;
}