Godot Version
4.3
Question
I’m making a shmup, and I decided to give PerfBullets. I’d also really like to support replays, so I’m using frame-dependent movement with the physics process function. I’m also using physics interpolation, with lawnjelly’s smoothing addon instead of the built-in interpolation. I got the built-in interpolation working eventually (SubViewportContainer has the physics interpolation mode set to Off by default, not Inherit, and that casued me to waste some time). The reason I went with the smoother addon was because built-interpolation was giving the player’s bullets a lot of jitter when the player moved. I might revisit the built-in approach, but for now the two addons are working together nicely… except for actually smoothing the bullets’ movement. The bullets are not interpolated at all, whether using the built-in interpolation or the smoother addon.
I actually haven’t used multimeshes before now (PerfBullets uses them), and I saw this note in the docs, but I’m not sure I fully understand. I was hoping the fix might be as simple as replacing a call to set_as_bulk_array() with set_as_bulk_array_interpolated(), but it seems that PerfBullets isn’t even using that function. My searching hasn’t turned up any more details, so I’m hoping that someone could give me a bit of assistance.
To sum up: Neither the built-in interpolation nor the smoothing addon are interpolating the PerfBullets multimesh instances. How can I modify the PerfBullets addon, or ideally just get the multimeshes interpolated in my own code, so that they can be smoothed over the rendering framerate.
Worst-case scenario, I can rewrite the addon. Or perhaps just force my game to render at the 60hz physics tick rate (which I’d really not like to do).
Thanks.