Jump to content
  • Advertisement
Sign in to follow this  
khawk

Unity Post-mortem: Upgrading FPS Sample with the Visual Effect Graph

Recommended Posts

Unity has shared a post-mortem discussing the approach they took to convert the FPS Sample from using Particle System to the Visual Effect Graph to take advantage of HDRP.

The post-mortem walks through the entire process of identifying references to Particle Systems in prefabs and code, replacing the instances with placeholders, and filling the effects back in using the Visual Effect Graph.

Here's a brief sample:

Quote

Optimizing a shooting system with VFX Graph

Shooting systems rely on many effects whose performance depends on the pace of the game, the number of players, the playing area topology, and the current game’s state. This implies that many objects can be spawned around (for instance: impacts) and will fill the scene graph with many draw calls.

image8.png

The FPS implementation was made using a pool of 64 impacts, managed by Entity-Component Systems using a recycling system: 1 Particle System per impact + 1 Audio Source.

The main drawback of this system was that every instance of an impact would lead to a draw call per-system. A constraint that requires using only a few draw calls per effect would, in a worst-case scenario, lead to N times 64 draw calls (N being the number of particle systems that compose each impact), for each kind of impact.

Take a look at the blog post here.


View full story

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!