my name is Elsa and I just got into the magical world of VFX about 2 months ago! I’m currently working on a game with 14 other people, for which the team’s programmers have built their own game engine. A couple of weeks ago I did some concepts for the enemy impact VFX, but have since then struggled with implementing them because of the limited engine as well as my own limited knowledge of the technical parts.
*the pulse shader is pretty much finished.
We just implemented a pretty fleshed-out particle editor, so starting today I have a lot more to work with. But we lack features like rendering both sides of a plane and fading textures when in close proximity to another, and we have a pretty low vertex/texture budget. Some features I can ask the programmers to implement but we’re on a pretty tight schedule (two more weeks in beta + one week of polish), so the more of the work I can do myself the better.
How would you create these effects? If I start with the ultimate albeit expensive solution, maybe I can work my way down to something I’m able to implement?
If you wanna know more about the game project, I have a breakdown on my website: https://elsavarland.artstation.com/pages/potential
What features do you think you need for these VFX that your engine is lacking? Apart from the pulse shader (which, as you say, is almost done) - i don’t see anything that you cannot achieve with simple particles with some basic over-lifetime controls (size, rotation, speed, transparency, e.t.c.). You don’t need a sprite animation for every movement: a static splatter texture, with some nice particle animation and alpha-erosion (if possible, not required) in most cases gives you as good of a result as a pre-animated fluid (have a look here, for example: VFX For Games Tutorial 01: How to hand paint realistic blood! Full tutorial on hand crafted liquids)
If you need to render both sides of a plane - you may always just dublicate that plane and flip it’s normals.
And what exactly do you need “texture proximity fading” for?
That tutorial helps a lot! Alpha erosion was just the technique I was missing. It’s not going to be the exact effect I had in mind, but it’s probably more appropriate for our scope.
The proximity thing was just soft particles (I’m still new to the lingo), and apparently one of the programmers implemented it a couple of days ago! My first idea for the splatter effect was to do a mesh with scrolling UVs, but that didn’t quite work out the way I wanted it to, so I dropped it pretty quickly. But with the static splatter texture you mentioned, I dont think I’ll need both sides of the plane.
I’m going to start playing with our particle system today, so hopefully I’ll solve a lot of the issues (and find some more) along the way. Thank you so much for that tip though, it’s easy to over-complicate things when you don’t know the basics!
You may always post your results here, on the forum, and ask for feedback if you ever feel that you can’t achieve what you’re going for. Good luck!
It’s great to develop engines on your own team.