So I’ve got the difficult bit of my 3D cursor model working. It works more or less as you’d expect; it finds the spot that your (hidden) mouse cursor is hovering over, and zips off into the distance to point at that spot. The current cursor behaviour is very much like that from the 1.1 development version of MMORPG Tycoon (so if you’ve played with that, you know the stretchy behaviour that’s being used here). Of course, the very first thing I did with this new cursor was to point out the shading discontinuity which currently occurs on the border between world zones. That’s been on my “to fix” list for an awfully long time, and I’ve still never gotten around to it. Probably because it shouldn’t be difficult to fix, so it’s not a particularly interesting problem to work on.. but it’s always annoying to spot one of those when I’m thinking about taking a screenshot. Maybe by putting it front stage like this, I’ll motivate myself to fix it sooner.
While I’m on the topic.. while I do like the visual interest generated by the foliage effect, it becomes totally invisible only twenty or thirty meters from the camera. In this shot, the foliage effect is being rendered over absolutely everything in the scene (except for the hilltops in the far, far distance).. and you really don’t get any benefit from it beyond the two slopes in the foreground. And the color scheme being used here really isn’t working for me. I should really fix that up.
But I seem to have derailed myself. The cursor picking is working, yay! Now I just need to fix the visible cursor’s behaviour. The real problem with the cursor’s current behaviour is that the cursor doesn’t try to orient itself to be visible from the camera; that is, the cursor is still a flat 2D object, and depending on how you’ve been moving it around, it can quite easily end up with its flat side facing the camera. It also tends to end up sitting directly on top of the ground; really, I’d like to have it hover a short distance above the ground, and perhaps cast a shadow down onto the ground, to help really show where it is in the scene. Finally, since it has to be visible so far off in the distance, the cursor model is actually about three meters long, which makes it absolutely massive on screen when you point at a surface which is near the camera. So it’ll need to change its size dynamically, so that it won’t end up using half the screen when it’s pointing at the ground right in front of the camera.