Black Lives Matter. Please consider donating to Black Girls Code today.

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?