Funny that you guys posted these this week. I'm finally back. Had two more houses to check out, which we should not have done. But we're out now. No more. Vacation planning in full now. 3 weekends and two weeks in black hills coming up!! woot!
Anyway, yesterday I was tinkering with the streams and decided I wanted to play with env maps some more. I found this interesting bit, and I'm not very happy:
- If I assign an env map to an area via the tileset, that envmap is applied to all objects in that area unless otherwise specified. This is good.
- If that object then moves to another area, with a different envmap, the original envmap carries over with that object. This is bad.
So to counter this, I found this bit:
- Forcing a reload of the character model updates the area-specific envmap. This is good.
- Dropping carried items displays them on the ground with the previous envmap. This is bad.
- Picking them up again refreshes the envmap. This is good.
I haven't looked yet, but is there a script method to force this without removing gear or forcing a model load? I could force a model reload (or two stage) via script, I know that. And I could unequip objects and redraw them with script. But I'm looking for an easier idea.
What I'm doing is giving my lava caves a dark upper, and bright lava lower, envmap so that the armor reflects as such. Rural outside has a nice grassy bottom, a gray center, and a blue sky (or similar if the sky is to be stormy). And my dungeons have a generic dark envmap with occasional light sources up the center which are dim. The reflections on the metal and shiny skin is much much better than shimmery metal.
I also use custom envmaps. I took the envmaps that OTR showed a few years ago. Those circle ones that are applied without cubemapping. Then I rescale them from 256 up to 384, increase the image size to 512, creating a black border, remove anything outside the center circle and make that black, and then resize to 256. This gives a nice realistic shine, which you can use to make realistic glass, plastic, or smooth metal with a more accurate reflection of the area.
What I'd like to do is create a set of envmaps you can apply to tilesets, or via script, which match regions within the tileset. It seems like with scripting you an only do 99 or 100 envmaps, unless I read that wrong. Otherwise you can do one per tileset. But think about swapping envmaps when you enter a tile that is bright. Say it has a pool of water in it, you could reflect that pool onto the shiny bits, instead of using a generic metal for everything.