Although a lot of the other tips are good, I'd like to add a bit of a correction to the first tip. When you handle a lot of destroying of particle systems in your game, it's probably a better idea to use an object pooling system. You add these particle systems' GameObjects to a list of GameObjects, and instead of destroying and instantiating the particle systems, you disable them, reset their variables to the wanted start variables, and instead of instead of instantiating a new GameObject, you re-enable one of the ParticleSystems. This improves your performance almost every time you use it, with some exceptions like not having very many particle systems.
@GabrielAguiarProd6 жыл бұрын
Thank you Roel, it's true. Forgot to mention that. Even tho it really depends on the situation, it's worth mentioning pooling methods to minimize instantiation. Recycling can help performance when dealing with hundreds and hundreds of objects that are going to be instantiated a lot.
@jonavuka6 жыл бұрын
It all depends, pooling can hurt performance too so it's situational
@Sparrow4204 жыл бұрын
Unless it's a complex system that needs to play over time i don't even do that. What I do is just keep one instance, where ever it needs to be played i just move it there and call .Emit on the particle system, that works great for a bullet impact in a shooter for example.
@Clavus6 жыл бұрын
There's one veeeeery important performance pitfall with particle systems you're forgetting: overdraw. When you have even just a small amount of particles that fill up your camera view, your GPU has to redraw many pixels multiple times, causing significant framedrops if you're not careful. Not an uncommon problem for when you have smoke / explosion effects.
@GabrielAguiarProd6 жыл бұрын
Indeed. This is very true. Well put Clavus, thank you.
@ogireis3246 Жыл бұрын
whats the solution for this?
@bpro584811 ай бұрын
@@ogireis3246fr!! What is it?
@P0Omah6 жыл бұрын
Fucking hell dude, the amount of quality content you put out for free is amazing.
@GabrielAguiarProd6 жыл бұрын
Thanks man!
@YimboSlyce6 жыл бұрын
Thank you! my games fps improved by +15!
@GabrielAguiarProd6 жыл бұрын
That's nice man! Well done.
@SachaSilva-is6kn7 ай бұрын
would it be possible to make a video like this, but using UE5?
@Endar06 жыл бұрын
These are some very helpful tips. Thank you!
@seworian21856 жыл бұрын
Thank you so much for making this! your tutorials are very clear and understandable
@zankaster39356 жыл бұрын
Thank you for all the useful information
@HaganeKen3d4 жыл бұрын
Thanks for the video, these tips helps a lot. I have a question, instead destroy the Game Object. it's also perform used the function SetActive? Thanks
@GabrielAguiarProd4 жыл бұрын
Yes you can! It's even more recommended than destroying :)
@Rubidev3 жыл бұрын
I am sure you know more than this to share about performance. Please do explain the most performant way to evade "GetComponenet"s and Instantiations. The emit on particle looks a bit tricky to me yet.
@omeryilmaz10213 жыл бұрын
what s the effect on the mobile of VFX graph instead of basic particle system?
@rebekahobrien45176 жыл бұрын
Thank you so much for making this!!
@joy211191 Жыл бұрын
Probably late to the party but nevertheless. Instead of destroying the particle with a script, there is a "Stop Action" part which can be set to Destroy.
@ricolafrogdamaster8636 жыл бұрын
Hey, I am getting into Unity Particle effects for a game aswell but I didnt spend much time in Unity yet. I notice that you always use quite a nice enviroment in your videos and I was woundering how I can quickly reproduce it to have a better sense of the effects I am creating. Thanks ahead Keep up the good work
@Cybored.6 жыл бұрын
i would advise using the object pooling instead of Destroy if your doing it with a large amount of particles
@GabrielAguiarProd6 жыл бұрын
Hi Ahmed, yeah someone already mention that in the comments, thank you. But it's mostly useful when instantiating hundreds and hundreds of effects/objects.
@bulalaish6 жыл бұрын
great info. Thank you
@sycopath76775 жыл бұрын
Great video. But instead of destroying the particle system, wouldn't it be enough to simply stop the particle system by calling the ParticleSystem.Stop method?
@ramalmaliki6 жыл бұрын
would you mind if you create black hole tutorial particle? for 2d game
@GabrielAguiarProd6 жыл бұрын
Yeah maybe in a not so far future.
@fangyechannel4 жыл бұрын
thanks for this tutorial , it is helpfule ~
@GG14406 жыл бұрын
Thank you
@simonzhang3D5 жыл бұрын
3:06 is there a tutorial on this specific vfx?
@TilSkywalker6 жыл бұрын
this is great! Xould you make a tutoril about water trails that a boat would lieave while driving through a river? Or some water efects in General :)
@GabrielAguiarProd6 жыл бұрын
Thanks! Yeah in a not so far future there will be a tutorial about Ocean Water and Cartoonish Water as well!
@idsamuel6 жыл бұрын
Wait what was that "Application Framerate = -1" ? First time hearing of it and can't seem to find anything on google.
@GabrielAguiarProd6 жыл бұрын
"Application.tragetFramerate = -1" indicates that the game should render at the platform's default frame rate. If you set a value it means it will try to no go over that number.
@idsamuel6 жыл бұрын
@@GabrielAguiarProd Ah okay, thanks!
@skope2055 Жыл бұрын
high class
@henriqueam6 жыл бұрын
Parabens pelo video. Mandei uma mensagem no patreon pra vc. Abraço.
@Sparrow4205 жыл бұрын
About #1, what's why not just use the "StopAction" of the particle system?, you can just tell it to destroy itself when it's done, no need for those 2 get components with it's start.
@GabrielAguiarProd5 жыл бұрын
It doesn't work sometimes. Specially if the particle system is attached to an empty gameobject that contains scripts or animations. Cheers.
@artem._corp66785 жыл бұрын
мужик, исправь немного акцент - так слух режет
@davidblaine97953 жыл бұрын
Хейтер
@antonishe203 ай бұрын
@@davidblaine9795 реально лох какой-то)) чел максимально полезные уроки на очень понятном английском делает