Vladislav Horobets shared how he created his beautiful stylized projectiles, talked about VFX production in Unity, and gave general advice for learners.
Hi! My name is Vladislav Horobets, I’m also known under the nickname ErbGameArt. I’m from Ukraine, 21 years old. In school days I enjoyed playing RPGs, especially those epic moments when a player smashes enemies with AOE spells. Probably, it was one of the main reasons why VFX became my profession.
After school, I enrolled in Engineering and Management College NAU to study programming and then studied at National Aviation University. At the same time, I had actively started considering making mobile games and got acquainted with Unity.
Once, when I had been developing my own game in the style of Tower Defence, I needed effects for towers like laser, fire, ice plus shooting and hits from rocket launchers and guns. I decided to make them on my own and began looking for tutorials. I really liked the process of creating textures and models for the effects. I have been drawing since school and modeling since university, so the whole process was interesting and fun.
Before Starting VFX
First of all, you need a general understanding of the overall structure of the particle system and what each parameter is responsible for. It is also a good idea to download free VFX packs from the Asset Store, see how they are structured, change some settings and analyze the results. Trust me, any idea can be implemented with just a bunch of points.
Remember, that effects attract players’ attention, they are an instrument to show the beauty of the in-game worlds and epicness of battles. They should stand out against everything else, except UI of course. When I am making projectiles, I pay great attention to their visibility against any background and the clear, accurate shape. A player can take a screenshot at any moment, so the effects must always look perfect.
Trail component in the particle system is enough to easily produce regular trails. In more advanced cases where one particle system is not enough, you can add shaders and models. Here are a few trail examples with animated texture:
For the second trail, I drew a slime texture and added a blur effect with animated noise texture. The noise influences the main texture and is controlled by a mask texture with the help of a custom shader.
The trail was stretched to save space, otherwise, the area of transparency would be bigger.
The noise texture is made from the lines blurred by a brush. By the way, if you need seamless textures like these I recommend using Krita.
In this example the trails were made with a rotating cylinder model:
The texture for it was made with a cropped circle, while the second trail was placed with the help of the filter Offset in Photoshop.
Dealing with FPS Drops
When you plan to make an effect, the key is to have a vision of the future workflow to avoid unnecessary changes. As I’ve learned through my experience, in Unity FPS drops if there are a lot of transparent layers or too many polygons facing the camera. These factors should be taken into account. A thousand small particles covering 10% of the screen are less harmful to FPS than a single transparent particle occupying the whole screen. However, a couple of thousands of particles mean a lot of polygons, so it will be reasonable to use a few hundreds of particles on one texture. For instance, look at this ground texture I made for one of my effects:
Hits & Projectiles
For hits and projectiles, I use the same materials. I can give you a personal tip on how to make such effects. A few projectiles may hit the same area simultaneously or within a few moments. The key idea is that they must not overlap each other. If you launch my demoscene and shoot at one point, the effects will complement one another and it will look good.
The hardest part is to estimate the timings for the shots and hits. If there are a lot of particles in the scene, FPS will drop. That is why my effects consist of a few separate particle systems. The first portion of the particles vanishes instantly to create the impression of a powerful shot or hit. The majority of the rest will disappear after a quarter of a second, and a small number of particles will exist up to one second to show the end of the effect.
With each update, Unity developers add more and more particle system features, I find every component important and try to use everything. I really liked the update where they added a new script that disables particles outside the camera. It solved the problem when previously, a large number of particles caused problems with FPS.
Advice for Learners
As for useful tutorials, DucVu FX’s youtube channel helped me a lot. At the beginning of my career, I downloaded free effects from League of Legends (I don’t remember where exactly), examined the structure and settings and tried to recreate some of them. I also learned something new from the small tutorials by Sberke on Real Time VFX forum. One more resource that comes to my mind is Jason Keyser’s Youtube channel.
If you found this article interesting, below we are listing a couple of related Unity Store Assets that may be useful for you.