James Baxter Profile picture
Principal Gameplay Programmer @Bulkhead on @WARDOGS Prev: @Hell_Let_Loose @SatCommand Making a sci-fi vehicle game with no end in sight. #BAFTA Nominee.
Nov 28, 2022 4 tweets 2 min read
More work on the @UnrealEngine Niagara Damage Renderer!

Added a subsystem for automatic prioritisation. Factors distance, gameplay priority and starvation rules to determine which targets to update first.

You can fix a per-frame budget, and system will adjust accordingly. 1/# The system also supports Render Target Arrays now, via a simple layer system. Acceleration data is still baked offline with an editor tool.

Adding an early-out branch for blank pixels bumped base performance too, so this test scene went from 0.7ms to 0.4ms for a 1K target.
Nov 24, 2022 6 tweets 3 min read
Using Niagara to draw damage masks with only a single 8-bit render target in @UnrealEngine

Works on skinned meshes and no positional map required, just a single-channel acceleration map baked offline with a custom editor tool. #UE5

Project Discord:
discord.gg/rrMzug9J2n @UnrealEngine Hits are buffered on CPU and sent to Niagara in batches (up to 64 each-frame), so you can absolutely hammer it with hits.

Takes ~0.6ms for a 1K render target on GTX 980. Next improvement is to prioritise updating within camera view, and atlas targets for different mesh sections.