Open no-lex opened 5 years ago
This also happens on my map Deathtrap: Lab, and can be quite disorientating while walking around it.
And even if you place various Env entities close by to try to make the effect better, it gets a lot worse.
So, i also vote for the rectangular envmaps/cubemaps to be implemented in. If they had some sort of blending in between "env collisions", this wouldn't be that huge of a issue, but now, it is, and should be taken in consideration.
Maps are made out of rectangular elements mostly, but environment maps are mapped about spheres. This leads to the radii of envmaps not cleanly bounding the surfaces they are intended to map and causing:
Here is an example of the envmap entity for the glass ceiling causing a jagged, ugly effect on the env texture on the wall.
If this is to be implemented, it needs to be determined how the entity attributes will be numbered, as the current three attributes (radius, size, blur) would have to be expanded to include an attribute for shape (if it is determined that envmaps are desired in non-rectangular volumes, like the currently present spheres) and the three relevant dimensions (x,y,z) of the envmap.
If it is also feasible (convenient, but not nearly as beneficial as rectangular volumes) to be able to move the envmap entity relative to the bounds of its effect, there would need to be an additional three attributes (x-offset y-offset z-offset).
Possible ways of organizing the attributes:
1: only rectangular volumes supported, support for spherical envmaps dropped
envmap x y z size blur [x-offset y-offset z-offset]
2: maintain support for spheres, maintain the first three attributes, and append shape & offset attributes to the end
envmap x size blur shape y z [x-offset y-offset z-offset]
(this would require support for deforming the sphere along all three axes)3: have different sets of attributes for spherical and rectangular envmaps
envmap x y z size blur shape [x-offset y-offset z-offset]
(rectangular)envmap radius size blur shape [x-offset y-offset z-offset]
(spherical)Suggestions and ideas for implementation welcome; I've been trying to parse the code controlling this but haven't had much luck yet. Similar features may be useful for teleports as well.