Projection/contours of a 3d surface plot in R

I am trying to get a projection/countours of this 3D map within the 3D map

kd <- with(MASS::geyser, MASS::kde2d(duration, waiting, n = 50))
p <- plot_ly(x = kd$x, y = kd$y, z = kd$z) %>% add_surface()

I came across this post, but it seemed to be really complicated where it actually hardcoded the entire values.

Could anyone out here please help me with an easier way to get this done?