Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Enero 19, 2014, 02:48:14 PM

Título: [Resuelto] Luz 30 comportándose de forma MUY extraña
Publicado por: DarkKRuleR en Enero 19, 2014, 02:48:14 PM
Buenas, pues tengo esto en el objeto controlador, evento draw:

with(objLight) {
    ... ... ...
    for (i = 0; i < 3; i += 1) { //todas hacen luz
        d3d_light_enable(HUD.numLight, true); d3d_light_define_point(HUD.numLight, x, y, 50, xxx, xxx);
        HUD.numLight += 1;
    }
    ... ... ...
}


el controlador hace, para cada objeto objLight, define una luz puntual en sus coordenadas x y. El juego es vista plataformas, así que x y coorresponden a coordenadas 2D prácticamente. Aquí la room:

(http://dmcplusdata.webcindario.com/room.png)

La vista 3D será igual que como se ve en la room: el personaje es el cuadrado rojo, la luz es el cuadrado azul con la bombilla, y las lineas amarillas delimitan la sala. Aquí la imagen:

(http://dmcplusdata.webcindario.com/screenshot100.png)

Como podéis ver, vemos al personaje, segun la room abajo del todo en el suelo (vemos como el suelo lo corta), y arriba la sala delimitada. El problema? la luz estaba en el centro de la sala, y como véis, al ejecutarlo la luz se situa... bueno, del centro para arriba es lo único que alumbra.

Si le sumo, por ejemplo, 400 a la y, pasa esto:

(http://dmcplusdata.webcindario.com/screenshot101.png)

Parece correcto pero... no tiene sentido sumarle a la y por la cara, debo descubrir por que se le resta la y tanto... alguien le ve sentido? El rango es de 3000 en el caso de la imagen

Antes me funcionaba cuando dibujaba walls y floors con d3d_draw_floor, y comenzó a fallar cuando lo sustituí por primitivas haciendo vertice a vertice trianglestrips en vez de hacer draw de floors y walls, a lo mejor influye... pero la cuestion es que ayer mismo me funcionaba perfectamente.
Título: Re:Luz 30 comportándose de forma MUY extraña
Publicado por: Jucarave en Enero 19, 2014, 04:36:42 PM
Hola,

Cual es el valor minimo que necesitas sumarle al y para que la habitación se vea "bien" iluminada (no creo que sean 400), lo unico que se me viene a la mente de porque puede fallarte es porque definiste mal las normales cuando hiciste el escenario.

Saludos
Título: Re:Luz 30 comportándose de forma MUY extraña
Publicado por: DarkKRuleR en Enero 19, 2014, 05:53:52 PM
WAHH, gracias! Era justo eso! Tenía mal definidas las normales en los muros (pensaba que las puse bien) y me olvidé cambiarlas en suelos y paredes... así se ve perfecto!

(http://dmcplusdata.webcindario.com/screenshot102.png)

aunque no entiendo por qué el muro de la esquina inferior derecha no se ve (el de la izquierda sí). Quizás sea porque su y es mayor que 720, y antes jugué con ese número, pero me lo he mirado bien y no veo razón para que falle... dudo que podáis saber eso, quizás es error mío, o sí es algo que podéis saber, no lo sé. Por ahora la duda principal resuelta, nunca olvidar las normales :D