Part movement noise with high framerates

Its the value that we should have if 60 seconds were to elapse…

For example, if we updated our game one frame every 60 seconds, then deltaTime would be eqaul to 60

deltaTime * ( multiplierPerMinute / 60 )
60 * ( multiplierPerMinute / 60 )
1 * multiplierPerMinute
multiplierPerMinute

Yeah, but sadly that is not working, already tried but with a different syntax :frowning:

off topic here: looks like your in good hands soo im going to hop off good luck okay

I’m mainly confused on why you are then picking a random value in this noise range, its really hard to see what’s going on with your code with the lack of details…

I’m choosing a random number because it’s literally noise, it moves the particle everytime the RenderStepped it’s fired to replicate a random movement(useful for making fireworks) but if the RenderStepped fires at 60+ fps will add too much noise compensation in a lower time so this will make less noise movement

I already understand why that error is happening but I don’t figure out a solution that works, it’s like a compensation, if that compensation adds too later, it will go crazy, if that compensation adds too early, will be no noise effect

So you want less, randomness (IE a smaller range for the psuedo-random number generator to pick between) if you have a higher fps right?

No, I don’t want less, I want it to stay in that specific range no matter the framerate, like this

But in that term you used, I think I want less if the framerate it’s lower, and I want more if the framerate it’s high to compensate the amount of firing on the renderstepped

Then why are updating the value with deltaTime. If you update with deltaTime then it will become DEPENDENT on the framerate

Maybe a better implementation would be to lock the update to a certain framerate… ?

Locking to 60 fps will make the FPS unlocker users see like there are lack frames or high times between the noise update

Using :Emit doesn’t account for graphics quality.

1 Like

Because it’s already dependent on the framerate as it’s attached to RenderStepped

This updates the movement in RenderStepped

            local alphaCFrame = (particlePart.CFrame + heartbeatSpeed + offset)            
            particlePart.CFrame = alphaCFrame

I’m not even using the Roblox particle system, I’m asking for math calculations to compensate, not off-topic ideas.

Ok where does noise play a role in this (does it effect the offset value?), please just show your whole code so I can understand every calculation that plays a role in its movement…

You never stated this in the OP so I didn’t know.

This is the important part of the code

        local emissionNormal = axis.Value * (
            vectorFromNormal(particleInfo.EmissionFace) + spread
        )

        heartbeatSpeed = vector(
            heartbeatSpeed, 
            heartbeatSpeed, 
            heartbeatSpeed
        )
        
        heartbeatSpeed *= emissionNormal
        heartbeatSpeed += vector( -- This is where the noise applies
            random:NextNumber(
                -noise,
                noise
            ),
            random:NextNumber(
                -noise,
                noise
            ),
            random:NextNumber(
                -noise,
                noise
            )
        )
        --

        local offset = (particleInfo.PhysicalAcceleration / 10) * deltaTime * 60
        offset = (offset / alpha)

        --

       local alphaCFrame = (particlePart.CFrame + heartbeatSpeed + offset)            
       particlePart.CFrame = alphaCFrame

Here are the variables

        local heartbeatSpeed = (particleInfo.HeartbeatSpeed / 10) * deltaTime * 60
        local noise = particleInfo.Noise + deltaTime

Try setting the parts NetworkOwnership to nil.