I wanted to create particle effects and decals for bullet impacts on different materials. I chose to go with metal, dirt, concrete, and wood. I use material textures from Quixel Megascans.
I wanted to create variation on the decals so it would not feel repetitive. I didn't want to create randomness by using multiple textures, instead I wanted randomness in a more interesting way. I created a texture that has four different masks. Three of them are used for opacity and the last one is for bullet holes.
I create the final opacity mask by adding the three masks together. I use the bullet hole mask in the albedo to create a black spot in the center of the impact. I give all the masks different rotations, sizes, and offsets to give each decal its own silhouette.
It would take to much time if I had to create completely unique particles for each material. I looked up references and realized that the materials share similar looking elements for their impacts. The dust particle was one of them. By giving the dust particle some simple parameters to tweak, I only had to create one dust particle for all the different impacts. This was a big time saver for me.
When creating things like bullet impacts it's important to be smart with how you create them. Creating different impacts can be extremely time-consuming. By creating reusable particles and shaders has been a huge time-saver for me this project. The decal creation has also been a much bigger part of this project than I thought it would be but It was very fun to come up with a solution to give the decals variation and randomness.