genesis//LOG02
Wednesday, Jul 2, 2025 | 2 minutes read | Update at Wednesday, Jul 2, 2025
Some more updates on proto//GENESIS
This is useless and should probably have waited until I finished everything else, but I really wanted to have better bullet visuals, bullet trails and improved impacts.
First thing I tried was using a GPUParticle3D node and emitting a long bar to simulate a bullet but this meant that the visual hitting the target and the actual bullet collision to hit was not in sync. Due to using a raycast that immediately scanned for collisions, the target would be damaged before the visual even reached it.
The next option was to use a mesh instance or fog volume with a shader that made it look like a bullet trail. This also didn’t work, although this was more because I wasn’t satisfied with how they looked.
I also considered using instanced bullet scenes but these would be too resource intensive and may result in inaccurate collisions.
So I ended up scrapping the idea of bullet trails and focused on better impacts. I chose a GPUParticle3D node as the source of the impact sparks, and rotated in to face the forward z-axis and gave the particles a velocity of 1.0 in the z-axis with a 45 degree spread.
Upon bullet raycast collision, the particle node is instanced, rotated and is called to emit a burst of sparks. This results in a nice shower of sparks that are able to bounce against the floor.