Rumbo al modo 3D

Si deseas usar el modo 3D antes necesitas poner Game Maker en modo 3D. Después puedes regresar al modo 2D si lo deseas. Las siguientes dos funciones existen para ello.

            d3d_start ( ) Inicia el modo 3D.

            d3d_end ( ) Detiene el modo 3D.

 

Nota que todas las funciones relacionadas con 3D inician con d3d_.

 

Iniciar el modo 3D dará resultado a los siguientes cambios. Primero que nada hidden surface removal es cambiado a encendido (usando un z-buffer de 16 bits). Esto significa que por cada píxel en la pantalla sólo el dibujado con el valor z menor (= al valor depth, profundidad) es mostrado. Si las instancias tienen la misma profundidad es confuso lo que pasará y puedes obtener efectos feos. ¡Asegúrate que las instancias que pueden sobreponerse no tengan la misma profundidad!

 

En segundo lugar, la proyección ortográfica es remplazada por una perspectiva. Esto significa lo siguiente. Normalmente el tamaño de las instancias en la pantalla es independiente de su profundidad. Con una proyección en perspectiva las instancias que poseen mayor profundidad parecerán más pequeñas. Cuando la profundidad es 0 al viejo tamaño (a menos que cambies la proyección; velo mas adelante). El punto de vista para la cámara es puesta a una distancia sobre el cuarto. (Esta distancia es igual al ancho del cuarto; la cual da una proyección por defecto razonable.) Sólo las instancias que estén frente la cámara son dibujadas.  Así que no uses instancias con una profundidad menor a 0 (o al menos no menor que –w donde w (width) es el ancho del cuarto o la vista).

 

En tercer lugar, la coordenada-y vertical es invertida. Mientras que la posición (0,0) está en la esquina superior-izquierda de la vista, en el modo 3D la posición (0,0) está en la posición inferior-izquierda, lo cual es normal para las vistas 3-dimensionales.

 

En realidad puedes cambiar hidden surface removal (eliminar las superficies ocultas) y la proyección de perspectiva encendido o apagado usando las siguientes funciones.

 

d3d_set_hidden (habilita) Habilita eliminar superficie oculta (true) o la deshabilita (false).

d3d_set_perspective(habilita) Habilita el uso de una proyección en perspectiva (true) o la deshabilita (false).