Scatterer Instrument Plays Several Samples At Once When Stopped

I’m not sure whether this is a bug, but I’ve been trying to use a scatterer instrument to play some vehicle locomotion sounds, setting a fixed min and max spawn time and tweaking the spawn rate and pitch as the vehicle speeds up or slows down.

This works perfectly fine for a single scatterer instrument, but if I want multiple sets of samples that I can swap to for different speeds, I need to set up multiple scatterer instruments, and this results in weird behaviour.

To make one scatterer stop when a certain speed value is reached, I can either simply end the clip at that point, or I can automate the spawn rate down to 0%. In both cases, this causes all of the samples to fire off at once before it stops, which is highly undesirable.

I’ve been thinking about workarounds for this, but it seems like a weird behaviour in the first place, and it’s frustratingly hard to avoid in any consistent way.

This only happens when I have the scatterer instrument pitch being automated, the spawn rate seems to have some effect on how many samples play simultaneously at the end, but the problem only occurs when the pitch is being automated.

I thought it was firing off every sample at once, but even if I remove all but one sample, it spawns multiple of that same sample on exit. Here’s a video of it happening with some test sounds:

I understand that this may not be the intended use case for the scatterer instrument, but it is a pain when it almost works in this way, and there is no alternative I can think of that allows the decoupling of pitch and trigger rate for a pool of samples — except perhaps for a nested event where the pitch of the multi-instrument inside of the nested event is automated to perfectly cancel-out the pitch automation of the whole nested event, but that seems very fiddly indeed.

I’m using FMOD 2.02.04 on 64-bit Windows 10.

[Edit: updated to fix broken video upload]

I’m afraid that I haven’t been able to reproduce the behavior you describe. When I test here, untriggering a scatterer instrument does not cause any additional sounds to be spawned from its playlist, even when the instrument’s pitch and spawn rate are automated as in your video.

I must be missing some crucial step required to reproduce this issue. Are you able to upload a project exhibiting the issue, so that we can examine it in depth?

Sure, is there somewhere I can upload this (or send you a download link) privately?

I should also note that I can only get this to happen reliably when I slowly increase the parameter value past the end of the scatterer instrument clip. It doesn’t usually happen if I change the value quickly, and it only sometimes happens when reducing the value past the start of the clip, rather than past the end.

I thought that perhaps I could work around this by not having the clip end, and instead setting the Spawn Rate to zero… and this worked for increasing the parameter, but is even worse when the value comes back down and the spawn rate returns from zero back up to full. Here’s a video with a scatterer using more audio clips, so it’s even more noticeable when they are all triggered at once:

You can upload files in the uploads section of your profile page on this website.

If you don’t see the uploads section, it’s because you haven’t yet registered your game project with us. You can register your game project in the projects section of the projects section of your profile page.

Ok, I have uploaded a zip called “Scatterer Example” for you to try out.

Thanks for uploading a test project demonstrating the issue.

After some testing, I’ve been able to reproduce the behavior you’ve described in FMOD Studio version 2.02.04, but not in version 2.02.15. This suggests it may be an old bug that was since fixed; updating to a more recent version of FMOD Studio should allow you to avoid this issue.

Thanks for verifying that. I did have a look through release notes to see if it was mentioned but I couldn’t find anything at the time. I guess it’s about time I updated anyway :+1: