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

library(plotly)
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.

https://plot.ly/~empet/13818/bivariate-gaussian-mixture-and-its-contour-plot/#/

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