#4
18th Dec 2018 at 11:56 PM
Last edited by GrijzePilion : 19th Dec 2018 at
12:24 AM.
Posts: 5,656
Thanks: 1035 in 5 Posts
9 Achievements
Problem is the reflective shader uses really shitty, 256x256 cubemaps. Inside, the game generates one for each room but outside, the game uses a single cubemap for the entire world. This means that every object other than those which use the mirror shader CANNOT accurately reflect its surroundings. The hidden room marker also uses it; it looks absolutely horrid. If it were possible to modify the game's lighting engine code, I'd make it a priority to either increase the cubemap texture size or to make the engine update the cubemaps live.
The global cubemap is generated from a fixed position in the world, via an invisible camera floating above the dead center of the map. This means that EVERY SINGLE OBJECT in the ENTIRE world uses the same reflections. It also means that any object close to that central position on the map will be prominently visible in the cubemaps. If it were possible to modify the engine code, I'd want to have every object generate a unique cubemap from its current position. It'd be a hog of engine resources (live reflections are by no means a new technology, it's basically just high-speed ray tracing but most games have avoided it for performance reasons), but it'd enhance the game's visuals considerably.
Aside from the potential render lag each time a new object is spawned, however, moving objects such as cars would also provide a continuous load on the graphical end of things. The game updates its exterior shadows a set amount of times per second (20 in my case) and has no issues doing that, but shadows aren't very resource-intensive anyway. Fixing a camera to your Sim's bumper and having it draw a cubemap every second (if such a thing is possible at all) is dubious at best. I don't think there is any way you can get the engine to be selective about object type when it comes to shader properties.....the reflections are a single shader that applies the same rules to every object material that uses it, no matter the circumstances. So if you'd want a car to have live cubemaps, every single other object in the game would also have live cubemaps. The issue at hand is that reflectivity is a property inherent to (nearly) every object in the game. Every object that has a specular map also has a cubemap associated with it. That means your fridge, your kitchen table, your trash can, your Sim's Ray-Bans, their sneakers, and their wardrobe. And it just so happens that 4 out of those 6 things are completely static. And you're not going to have a whole lot of sneakers on one lot but you're probably going to have a few dozen windows, a handful of chairs and potentially a couple of hundred (if not thousand) decorative objects.......so I guess the live cubemaps thing is a little far-fetched.
insert signature here
( Join
my dumb Discord server if you're into the whole procrastination thing. But like, maybe tomorrow. )