Tengo un juego 3d con personajes en 2d sin fondo, los personajes se mueven por lo que a veces tapan al personaje que esta detrás y solo se ve una parte del personaje que estaba detrás
Dejo una imagen para que se entienda mejor, Algo que se me ocurre es ir cambiando el valor de depth dependiendo que tan cerca o lejos este el personaje de la pantalla

tengo el d3d_set_hidden de los personajes en true
La cámara tiene una depth de 9999

Hola Ares074

Nunca he usado 3D en game maker, pero tengo la ligera sensación de que tu error lo provoca el alpha test (desactivado por defecto).

Intenta usar la función:
draw_set_alpha_test(true)
Eso activará el alpha testing para poder dibujar los sprites con la transparencia correcta.

Saludos Cordiales

Es posible que se solucione con lo que menciona BssString.
Aún así es mejor dibujar los objetos en orden; primero los objetos del fondo y después los objetos cercanos a la cámara.

Hola ya intente lo de el alpha_test pero me sigue dando el mismo problema algo que se me ocurrió fue poner en el evento step depth=-y; y es lo que me esta funcionando