What has gone wrong?
Nothing wrong with the code; but with our eyes. Try the following code:
## a function to produce a perspective plot
## "n" controls how refined your grid is
foo <- function(n) {
x <- seq(-1.95, 1.95, length = n)
y <- seq(-1.95, 1.95, length = n)
z <- outer(x, y, function(a, b) a*b^2)
persp(x, y, z, col = "lightblue")
}
If we have a 10 * 10 grid, the colour looks perfect.
foo(10)

If we have a 100 * 100 grid, the colour still looks OK.
foo(100)

Now, if we have extremely refined data, for example, on a 1000 * 1000 grid. Everything will just look like black.
foo(1000)

Note that you have a raster. I would suspect that your data are simply too refined. Have you checked how many cells you have in your lga_crop_05
?
How to get around?
Set border = NA
. Try modified function:
foo1 <- function(n) {
x <- seq(-1.95, 1.95, length = n)
y <- seq(-1.95, 1.95, length = n)
z <- outer(x, y, function(a, b) a*b^2)
persp(x, y, z, col = "lightblue", border = NA)
}
