Although the emission rate property always stays at 300, the visual emission rate drastically inceases/decreases based on graphics level. This helps to take up less memory, but can be quite annoying and produce a lot of visual inconsistencies in situations like:
footstep particles based on walk speed
making any particle with a low emission rate almost nonexistent on graphics levels < 4
particle trails
large explosions
ParticleFix is a module that forces a given Particle Emitter to emit the visually correct amount of particles, regardless of graphics quality setting. Please note that this does not correct all particle emitters in your game, only the ones that you specify.
It isn’t a “problem”, it is an intended result of scaling particles and other things that lowers a device’s performance. To purposely counteract the level of detail scaling feature built into the graphics setting is well… Not recommended.
Overall I think people want to run your game smoothly rather than seeing an increased amount of particles.
While LoD scaling for particles is definitely intended, the fact that it’s not optional does present a problem for some developers.
For games that this doesn’t affect in any great capacity, sure, it doesn’t make sense to use this. However, if the developer needs or wants particles to look a certain way regardless of the graphics setting being played on, this plugin makes sense. Smooth performance across all devices is desirable, but sometimes compromise has to be made to ensure the visual experience is being delivered to the player as intended.
I entirely understand that it is a feature intended to increase performance, I was simply outlining the problems that this feature can bring. Sometimes use cases arise that don’t necessarily line up with Roblox’s default settings and features; I’ve already explained this particular one.
Also, I did warn against the performance issues this can cause if used on a larger scale. The module isn’t intended to affect all of your games particles, only a select few.
for most cases, showing fewer particles on lower graphic quality is fine but if the particle amount is an indication of something (for example, how damaged a vehicle is) then the module may be useful.
i have a bit of a problem with this. I want to try to apply the module to every particle in the game, but I can’t seem to get it working.
local ParticleBalance = require(game.ReplicatedStorage.ParticleFix)
while not game:IsLoaded() do
task.wait()
end
for i,v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("ParticleEmitter") then
ParticleBalance:AddGroup({v})
ParticleBalance.AutoUpdate = true
end
end