Very neat improvement for people with lower-end devices! Will surface GUIs, textures, decals, and beams be supported in the future? If so, how will it work – will the texture, surface GUI, decal, etc become blurry or just simply go out of view completely?
I think it’s a really good way to improve quality of game environment overall, I think this was a very good move by Roblox studio
This oughta be cool, this is a nice feature, agree’d @MZTN_FRAGS this is a good move.
Everything looks so more decorative in the 2nd picture then the 1st, this could definitely help showcases and more as you usually cant see everything from a far distance in most games
Wow, I’m not gonna lie, this is pretty horrendous.
Original Model
With StreamingMesh
It’s pretty appalling that Roblox’s streaming system doesn’t account for the percentage of the screen an object takes up (or would take up) when deciding whether to stream it in or not (or which LoD to use). The massive tree off in the horizon takes up the same screen percentage as a nearby tree of normal size, yet it’s either reduced to actually nothing or a giant green blob with streaming enabled.
This streaming system (and LOD system) is nowhere near where it needs to be in order to be used in production games. I understand this is only a beta, but just… Wow.
EDIT: I’m sure this is a bug, but the model literally never streamed in no matter how close I got.
https://i.gyazo.com/aa205a7a5f0d678c86f076def5505a01.mp4
Now far-away build actually load and look nice! I like it.
This is great news for streaming - it really shows the potential of the platform to make massive games playable across all devices. It’d be awesome if I could grab specifically the mesh it generates though. I’m currently working on a game with distant planets, and it’d be awesome if I could have it generate a model mesh then be able to use that reduced detail mesh in intergalactic maps among other things. Currently I use an auto-lod system, but I’d move over to the official Roblox one if they could allow me to do this.
Well, it is in beta. I do hope they add percentage based streaming in the future though because that is pretty horrendous to look at.
Not exactly what I was looking forward too, I was looking forward to a system similar to the mesh render fidelity system we already have.
Without even knowing scripting great performance optimizations are brought by StreamingEnabled. This will make back what little visual losses it brings at that level of development, and is great like how ClickDetectors are replicated with no event code for the basics.
Although people have requested an ignore list for streaming, and in @Rocky28447’s case I could see developer fabricated LOD meshes if any, I in general think that’s a responsibility to be left for developers.
The Front Page game Welcome to Bloxburg is a good example of this I think.
This looks awesome, can’t wait to try it out!!!
2 questions though:
- Will this feature increase server or client load times? I’d like to know how many unique models I can have using this feature without it being an issue on startup.
- Is there any possible/hacky ways I can force an object to stream to the client? I’m aware of the PlayerGui method but just wanted to see if anybody had any other solutions.
Due to numerical round-off, we can’t guarantee it will perfectly know these models are all the same, but you can expect it will know as long as these models are truly identical.
Will this ever be supported ? would be nice
Will there be a way for us to manually lock a model’s LOD to the lowest avaliable? This may be helpful for testing, so we can see what the model would look like from any position.
Basically, you add a object from the server to the player’s PlayerGui.
Gui’s don’t replicate to other clients, so you basically can load in objects from the server to a specific client without taking up the memory of other clients.
I’m loving the look of these Streaming Enabled updates, but one thing a lot of people are still requiring is a whitelist for streaming to have certain models in game the whole time should it be necessary. A lot of people would love to use streaming enabled, me included, but without a whitelist where the client sometimes needs certain models in the whole time, it can’t be used.
Is there any info on whether a whitelist for Streaming will become a thing?
2020 on roblox has been the polar oposet to the rest of the worlds 2020. change my mind.
This release requires the model size to be much smaller than streaming radius so that it can switch to precise at a far enough distance when getting close. The bounding box of the massive tree off in the horizon is close to 1000. The streaming radius is set to 1024. Need to reduce model size or increase streaming radius.
Get the point that you expect streaming depends on distance as well as view angle.
I’ve tried it out… and StreamingMesh crashes studio.
dunno if i had any specific circumstances that made roblox go “roblox physics” logic mode (like beams, surfaceguis and tall buildings that exceed maximum part size). probably needs a bit more work, like making something that can exceed the 2048 stud size limit without having a seizure
Not only that, but a model should really only be considered to be outside the streaming radius if more than 50% of it is outside (using just the bounding box for this calculation should be more than enough accuracy). A model that is 99% inside the radius where only a tiny piece of it intersects the radius should not be considered “outside” by any means. Or, you could even expose a configurable property where we can adjust how far inside the radius a model has to be before it is considered to be “inside”.
this is great especially when you have a huge map