funny how a feature that has been a gaming industry standard since the early 2000s getting added now
but better late then never, W update
thank you roblox
funny how a feature that has been a gaming industry standard since the early 2000s getting added now
but better late then never, W update
thank you roblox
I noticed that when meshparts are covering other meshparts the system breaks at around 150 studs away. However, at the same distance with a part covering the meshpart the system works fine.
Normal view with no part in the way:
Wireframe at 150 studs away:
Normal view with part in the way:
Wireframe at 150 studs away with part in the way:
Video showcasing occusion culling failing at distances past 150 studs when meshpart is covering other meshparts:
I’ve noticed the same issue but just on the baseplate seems to be a issue at certain camera anglse/positions
There might be some small flaws that will be ironed out over time. But I do not care. Please make this available in live servers ASAP!!
Amazing!
With this update, my laptop will no longer mimic the sound of an airplane, thank you!
please allow certain parts and models, such as highlighted instances, to be exempt from this!!!
if this is already in the works / implemented ignore this
It’s honestly a great update! It’s nearly perfect for a city setting. In my case, the only remaining thing this would need is culling terrain and skinned meshes (since my game’s map has large mountains and dense skinned foliage)
What would this achieve in your case? It sounds like there’s a potential issue you may be running into
if something is culled with a highlight, that’ll be bad for things like seeing teammates (ik players aren’t culled yet) or objectives
Does the same happen with unions that have empty areas?
Objects with highlights are never culled it seems, this is actually kinda bad because it’s true weather highlights are set to AlwaysOnTop or Occluded (It won’t cull objects with disabled highlights either). Though it probably doesn’t matter in practice because you’ll only ever have a max of 31 highlights in a scene.
In general though, still an amazing update. Even in this first day of beta I’ve seen it work pretty much flawlessly in my scenes. This is definitely a great step forward for Roblox!
When will you add this?
Amazing update; huge kudos to the team working on this. The amount of draw calls in the most dense scene in my game has been reduced by ~80%. It helps a lot that the majority of objects in my game are behind various walls and rooms.
When I tried this I felt like it would have issues and stutter whenever it tries to occlude something sometimes.
I thought this is going to be like SKIP and HINT from the Source Engine or something.
Along with a property like Visible
from Frames, but for EVERYTHING else
This is a tricky limitation from our system, but a known one
Our algorithm doesn’t require any work from Creators, which means we do a number of calculations behind the scenes to identify what should be an occluder. These calculations can take time and because we don’t want Occlusion Culling to end up slowing down performance, we have included some safeguards in our algorithm.
Because of our safeguards and to avoid performance slow-downs, the wall made of many parts ends up not being considered as an occluder (we would have to identify each small parts individually as an occluder to compose the wall’s occlusion). On the other hand, the wall that is just one big part is easily caught by our algorithm well before the safeguards kick in.
This is a known limitation of our system at this time, but we are aware that it means some objects that are hidden could still get rendered at times. We are going to share more details about what are those safeguards and limitations in the future.
As in… a new “Occluder” part property…?
Very good!! More optimizations allow more players and more detailed environments!!
If something is culled with a highlight the highlight will still display from my testing
HELL YEA, we needed this a lot, thank you so much, this and the VR Emulator are amazing updates!
Awesome. Don’t really have anything to complain.
Something nice to get would be maybe some sort of method to check whenever or not an instance is occluded. Maybe some sort of method to check if an instance would be occluded at a given CFrame from the perspective of another CFrame? Maybe im pushing my luck here a bit.
Though how does this system work? Are the occlusion checks done on the CPU or GPU? And how much time does it take to check a large scene with tons of parts? I’m asking because i wish to know if occlusion culling can end up offering no real performance benefits to even performance downgrades in CPU bottlenecked situations. I do wish there would be a way to disable it for developers (just in case it may or may not start tanking CPU performance on low end systems).