I started mucking around with mapping megascans textures on to isometric cubes because I was bored - the initial work is in the show your stuff thread.
Then I got a bit carried away and it became apparent I needed a thread
So - now I've ended up with a functioning isometric renderer that supports movable point lights, directional light and normal mapping
You feed it isometric boxes made of 6 faces, these can have textures and tangent space normal maps assigned. The node allows you to select which faces of the box are visible. the box creation node has a number of outputs to support color, ts normals etc
The tiles are laid out in an isometric grid in a way that ensures draw order is correct.
In order to support movable point lights I have a specific variant that generates a world position for each cell in the grid
after that it's just a case of transforming the tangent space normals into world space, adding a directional light and then some coloured point lights
There's a couple of things to do wrt to resolving relative z-position of lights and the floor (currently floor is not at z=0)
I also want to make a tile layout system based on an input texture so as to allow level layout to be defined as a simple bitmap
It shouldn't be particularly difficult to adjust the projection type - i'd just need to hook a few things together.
It might actually be possible to implement camera orbiting but I'm making no promises there.
Replies
There's only support for 3 tile types at the moment but it would be fairly trivial to add more.
I really need to work out why I'm getting such pronounced grid lines between tiles next - could just be a case of adding some fudge to the tile sizes
the map
the result
I have serious doubts about my ability to make the lights cast shadows